Heim >Backend-Entwicklung >C++ >Wie kann ich alle Klassen aus einem bestimmten Namespace in C# abrufen?
Alle Klassen innerhalb eines Namespace in C# abrufen
Um alle Klassen innerhalb eines bestimmten Namespace in C# abzurufen, verwenden Sie die folgende Technik:
Erhalten Sie alle Typen innerhalb der Zielassembly mit Assembly.GetTypes().
Filtern Sie die erhaltenen Typen basierend auf ihrem Namensraum. Verwenden Sie Where mit String.Equals, um den Namespace jedes Typs dem gewünschten Namespace zuzuordnen.
Konvertieren Sie die resultierende Typsammlung mit ToArray() in ein Array.
Beispiel:
using System.Reflection; private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) { return assembly.GetTypes() .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)) .ToArray(); }
Um diese Methode zu nutzen, rufen Sie sie mit der Zielassembly und dem Zielnamespace auf:
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
Für Versionen vor .Net 2.0:
Assembly myAssembly = typeof(Namespace.someClass).GetTypeInfo().Assembly; Type[] typelist = GetTypesInNamespace(myAssembly, "Namespace");
Das obige ist der detaillierte Inhalt vonWie kann ich alle Klassen aus einem bestimmten Namespace in C# abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!