Heim > Backend-Entwicklung > C++ > Wie kann ich alle Klassen in einer C#-Assembly programmgesteuert auflisten?

Wie kann ich alle Klassen in einer C#-Assembly programmgesteuert auflisten?

Mary-Kate Olsen
Freigeben: 2024-12-24 14:38:11
Original
641 Leute haben es durchsucht

How Can I Programmatically List All Classes in a C# Assembly?

Aufzählen von Klassen innerhalb einer Assembly

Um programmgesteuert eine Liste der in einer Assembly definierten Klassen zu erhalten, kann man die Funktionen von C# zur Assembly-Reflexion nutzen. Dies ermöglicht eine Introspektion und Untersuchung der Metadaten einer Assembly und ihrer Mitglieder, einschließlich Klassen.

Lösung mit Assembly.GetTypes

Die GetTypes-Methode der Assembly bietet einen unkomplizierten Ansatz zum Abrufen eine Sammlung von Type-Objekten, die alle in einer Assembly definierten Typen darstellen. Um beispielsweise die Klassen in einer bestimmten Assembly aufzuzählen:

Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
    if (type.IsClass) // Filter for classes
    {
        Console.WriteLine(type.FullName);
    }
}
Nach dem Login kopieren

Dieser Code durchläuft die in der mscorlib-Assembly definierten Klassen (die Kernfunktionsklassen enthält) und gibt ihre vollständigen Namen aus.

Weitere Überlegungen

Der obige Code kann erweitert werden, um neben Klassen auch andere Typen zu verarbeiten. Um beispielsweise alle Typen (Schnittstellen, Aufzählungen usw.) aufzulisten:

foreach (Type type in mscorlib.GetTypes())
{
    Console.WriteLine($"{type.FullName} ({type.Namespace})");
}
Nach dem Login kopieren

Reflection ermöglicht eine umfassende Introspektion von Assemblys und ihren Mitgliedern und erleichtert verschiedene Aufgaben wie Objektinstanziierung, Typvalidierung und Codegenerierung .

Das obige ist der detaillierte Inhalt vonWie kann ich alle Klassen in einer C#-Assembly programmgesteuert auflisten?. 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