Was ist der beste Weg, um eine Assembly durchzulaufen, und für jede Klasse in der Assembly-Liste "SuperClass"?.NET/C# - Reflection Help - Klassen in einer Assembly
Antwort
Assembly assembly = typeof(DataSet).Assembly; // etc
foreach (Type type in assembly.GetTypes())
{
if (type.BaseType == null)
{
Console.WriteLine(type.Name);
}
else
{
Console.WriteLine(type.Name + " : " + type.BaseType.Name);
}
}
Beachten Sie, dass Generika und verschachtelte Typen flippige Namen haben, jeder möchten Sie vielleicht FullName
verwenden, um den Namensraum zu schließen.
Assembly.GetTypes
und Type.BaseType
:
Assembly a;
foreach(var type in a.GetTypes()) {
Console.WriteLine(
String.Format("{0} : {1}",
type.Name,
type.BaseType == null ? String.Empty : type.BaseType.Name
);
}
Vorsicht! Schnittstellen haben möglicherweise keinen BaseType. noch "Objekt" –
@Marc: Guter Fang. – jason
foreach(Type type in assembly.GetTypes()) {
var isChild = type.IsSubclassOf(typeof(parentClass))
}
Referenz von MSDN.
+1 - coole zusätzliche Informationen. Unterklasse-/Superklassenbeziehungen werden in meiner aktuellen App nicht getestet, aber danke. – BuddyJoe
Oh, ich habe deine Frage falsch gelesen. Froh, dass es geholfen hat. –
- 1. Suche nach allen Namespaces in einer Assembly mit Reflection (DotNET)
- 2. Java Help: Verwenden von Klassen
- 3. Deserialize JSON in verschiedene Klassen mit Reflection
- 4. Java Reflection zu laden Klassen
- 5. Wie erweitere ich Java-Klassen um Reflection?
- 6. Java Reflection - Wert eines Feldes in verschachtelten Klassen abrufen
- 7. C#: Liste aller Klassen in Assembly
- 8. Reflection vs. Attribute in Plugin-Architektur
- 9. Reflection & Parameters in C#
- 10. Scala Reflection - Laden oder Suchen von Klassen basierend auf Merkmal
- 11. Wie scala Reflection-API verwenden, um alle enthaltenen Klassen
- 12. Finden einer Aufzählungsklasse mit Reflection in Java
- 13. Portable Class Library Reflection
- 14. Continuum Help
- 15. Verwenden von Reflection zum Aufrufen einer überladenen Methode in .NET
- 16. Hinzufügen einer Themendatei mit MS Help Workshop
- 17. Reflection API - ClassNotFound Exception
- 18. WPF-Ressourcen in einer Assembly
- 19. ResourceDictionary in einer separaten Assembly
- 20. mod_rewrite help
- 21. Wie Wert einer Enum in einer inneren Klasse durch Reflection
- 22. C#, Internal und Reflection
- 23. Java Reflection getConstructor Methode
- 24. Liste der Klassen in einer Baugruppe
- 25. Ist Reflection in einer Basisklasse eine schlechte Designidee?
- 26. Wie langsam ist Reflection
- 27. Support Get-Help für benutzerdefiniertes PowerShell-Cmdlet
- 28. Überprüfen einer Assembly auf einen starken Namen
- 29. Verbinden mit einem Entity-Modell mit Reflection
- 30. Überschreiben einer privaten Methode mit Reflection
Nein. Keine Hausaufgaben. Umfrage meine 201 Fragen - kein Student. Nur Ihr durchschnittlich überarbeiteter/unterbezahlter Coder. – BuddyJoe