Verwenden Sie die C#-Reflektion, um den Namespace-Typ abzurufen
Wie verwende ich Reflection in C#, um alle in einem bestimmten Namespace enthaltenen Klassen abzurufen?
Lösung:
Reflection bietet einen Mechanismus für den Zugriff auf Metadaten über Typen, Methoden und Eigenschaften in einem Programm. Um alle in einem bestimmten Namespace definierten Klassen abzurufen, führen Sie die folgenden Schritte aus:
Assembly-Referenz abrufen:
Abfrage-Assembly-Typ:
var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t;
Name der Aufzählungsklasse:
q.ToList().ForEach(t => Console.WriteLine(t.Name));
Dieser Codeausschnitt geht davon aus, dass der Namespace in der aktuellen Assembly definiert ist. Wenn die Klasse über mehrere Assemblys verteilt ist, müssen Sie zunächst eine Liste aller Assemblys abrufen und diese dann durchlaufen, um die Typen aus jedem Namespace abzurufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich mit C# Reflection alle Klassen innerhalb eines bestimmten Namespace ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!