Verwenden Sie Reflektion, um Namespace-Typen aufzuzählen
Reflection ermöglicht es Entwicklern, geladene Assemblys zu überprüfen und Metadaten zu bearbeiten. In C# können Sie Informationen zu Typen abfragen, die in einem bestimmten Namespace definiert sind.
Namespace-Typ abrufen
Um alle Klassen in einem Namespace mithilfe von Reflektion abzurufen, führen Sie die folgenden Schritte aus:
Assembly.GetExecutingAssembly().GetTypes()
, um die in der ausführenden Assembly geladenen Typen zu durchlaufen. ToList()
in eine Liste. Beispielcode
Hier ist ein Beispiel-Codeausschnitt, der diesen Ansatz veranschaulicht:
<code class="language-csharp">string nspace = "..."; var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t; q.ToList().ForEach(t => Console.WriteLine(t.Name));</code>
Dieser Code gibt die Namen aller Klassen aus, die im angegebenen Namespace in der aktuellen Assembly definiert sind. Beachten Sie, dass diese Methode nur die ausführende Assembly berücksichtigt. Wenn Ihr Namespace also über mehrere Assemblys verteilt ist, müssen Sie alle geladenen Assemblys aufzählen, um eine vollständige Liste der Typen zu erhalten.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von C# Reflection alle Klassen innerhalb eines bestimmten Namespace abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!