Énumération des classes au sein d'un assembly
Pour obtenir par programme une liste de classes définies dans un assembly, on peut utiliser les capacités de C# pour la réflexion sur l'assembly. Cela permet l'introspection et l'examen des métadonnées d'un assembly et de ses membres, y compris les classes.
Solution utilisant Assembly.GetTypes
La méthode GetTypes de l'assembly fournit une approche simple pour récupérer une collection d’objets Type représentant tous les types définis dans un assembly. Par exemple, pour énumérer les classes dans un assembly spécifique :
Assembly mscorlib = typeof(string).Assembly; foreach (Type type in mscorlib.GetTypes()) { if (type.IsClass) // Filter for classes { Console.WriteLine(type.FullName); } }
Ce code parcourra les classes définies dans l'assembly mscorlib (qui contient les classes de fonctionnalités de base) et imprimera leurs noms complets.
Autres considérations
Le code ci-dessus peut être étendu pour gérer d'autres types que les classes. Par exemple, pour lister tous les types (interfaces, énumérations, etc.) :
foreach (Type type in mscorlib.GetTypes()) { Console.WriteLine($"{type.FullName} ({type.Namespace})"); }
La réflexion permet une introspection approfondie des assemblys et de leurs membres, facilitant diverses tâches telles que l'instanciation d'objets, la validation de type et la génération de code .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!