Heim > Backend-Entwicklung > C++ > Wie rufe ich alle Klassen innerhalb eines bestimmten Namespace in C# ab?

Wie rufe ich alle Klassen innerhalb eines bestimmten Namespace in C# ab?

Mary-Kate Olsen
Freigeben: 2025-01-04 00:31:44
Original
325 Leute haben es durchsucht

How to Retrieve All Classes within a Specific Namespace in C#?

Abrufen von Klassen innerhalb eines Namespace in C#

In C# erfordert das Abrufen aller Klassen innerhalb eines bestimmten Namespace einen indirekten Ansatz. Um dies zu erreichen:

  1. Baugruppentypen aufzählen:

    • Alle Typen innerhalb der zu prüfenden Baugruppe abrufen.
  2. Filtern nach Namespace:

    • Überprüfen Sie den Namespace jedes Typs und behalten Sie nur diejenigen im Ziel-Namespace bei.

Der folgende Codeausschnitt veranschaulicht dies Prozess:

private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
    return 
      assembly.GetTypes()
              .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal))
              .ToArray();
}
Nach dem Login kopieren

Beispiel Verwendung:

Assembly executingAssembly = Assembly.GetExecutingAssembly();
Type[] typelist = GetTypesInNamespace(executingAssembly, "MyNamespace");
for (int i = 0; i < typelist.Length; i++)
{
    Console.WriteLine(typelist[i].Name);
}
Nach dem Login kopieren

Für .NET-Versionen vor 2.0, bei denen Assembly.GetExecutingAssembly() nicht verfügbar ist:

Assembly myAssembly = typeof(<Namespace>.<someClass>).GetTypeInfo().Assembly;
Type[] typelist = GetTypesInNamespace(myAssembly, "<Namespace>");
for (int i = 0; i < typelist.Length; i++)
{
    Console.WriteLine(typelist[i].Name);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich alle Klassen innerhalb eines bestimmten Namespace in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage