Quelle est la meilleure façon de faire une boucle dans un assemblage, et pour chaque classe de la liste d'assemblage c'est "SuperClasse"?.NET/C# - Aide à la réflexion - Classes dans un assemblage
Répondre
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);
}
}
Notez que les génériques et les types imbriqués ont des noms géniaux, tout vous voudrez peut-être utiliser FullName
pour inclure l'espace de noms.
Assembly.GetTypes
et 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
);
}
Attention! les interfaces peuvent ne pas avoir de BaseType; ni "objet" –
@Marc: Bonne prise. – jason
foreach(Type type in assembly.GetTypes()) {
var isChild = type.IsSubclassOf(typeof(parentClass))
}
Référence de MSDN.
+1 - informations supplémentaires cool. ne testera pas les relations Subclass/Superclass sur mon application actuelle, mais merci. – BuddyJoe
Oh, j'ai mal lu votre question. Content que cela ait aidé. –
- 1. Liste des classes d'un assemblage
- 2. Écrire des tests unitaires dans un assemblage ou dans un assemblage séparé?
- 3. Java Aide: Utilisation des classes
- 4. aide de la réflexion pour instancier 'Builder Motif' (Joshua Bloch)
- 5. aide de la réflexion pour trouver [XmlAttribute (« IWantThisValueRightHere »)]
- 6. Comment comparer des classes en utilisant la réflexion?
- 7. Inclure un assemblage Maven dans un autre?
- 8. Charger un assemblage dans le dossier parent - sondage?
- 9. Silverlight ViewBase dans un assemblage séparé - possible?
- 10. Aide à la réflexion. Faire une collection d'une classe basée sur ses propriétés?
- 11. How2 dans Configuration Net 2.0: Ajouter un élément à la section définie dans un assemblage différent
- 12. Comptage de lettres dans un fichier - Assemblage
- 13. assemblage non sécuritaire à la production dans SQL Server 2005
- 14. d'accès dans un assemblage différent C#
- 15. Vérification de la présence d'un fichier dans un assemblage .NET
- 16. Page maître ASP.NET dans un assemblage séparé
- 17. Aide à la pagination dans SQL
- 18. Problèmes avec le chargement des classes lors de la désérialisation du type d'un autre assemblage
- 19. Regex Aide à la recherche
- 20. Réflexion Java getDeclaredMethod() avec les types de classes
- 21. mysql aide à la requête?
- 22. Aide à la requête Linq
- 23. Aide à la requête MySQL
- 24. Aide à la requête LinqDataSource
- 25. Aide à la relation plusieurs-à-plusieurs
- 26. Le contenu d'Eclipse 3.2.2 aide à trouver des classes dans le projet
- 27. paramètres de passage dans la réflexion C#
- 28. [net] comment injecter du code de débogage à un assemblage?
- 29. Qu'est-ce qu'un module géré (par rapport à un assemblage)?
- 30. Réflexion pour la validation
Non. Pas de devoirs. Sondez mes 201 questions - pas un étudiant. Juste votre codeur moyen surmené/sous-payé. – BuddyJoe