100 votes

C #: Liste de toutes les classes de l'Assemblée

Je voudrais sortir (par programme - C #) une liste de toutes les classes de mon assembly.

Des astuces ou des exemples de code, comment faire cela? Réflexion?

144voto

Jon Skeet Points 692016

Utilisez Assembly.GetTypes . Par exemple:

 Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
    Console.WriteLine(type.FullName);
}
 

98voto

Thorarin Points 21538

Je voudrais juste ajouter de Jon exemple. Pour obtenir une référence à votre propre assemblée, vous pouvez utiliser:

Assembly myAssembly = Assembly.GetExecutingAssembly();

System.Reflection d'espace de noms.

Si vous souhaitez examiner un assemblage que vous n'avez pas de référence, vous pouvez utiliser l'un de ces:

Assembly assembly = Assembly.ReflectionOnlyLoad(fullAssemblyName);
Assembly assembly = Assembly.ReflectionOnlyLoadFrom(fileName);

Si vous avez l'intention d'instancier votre type une fois que vous l'avez trouvé:

Assembly assembly = Assembly.Load(fullAssemblyName);
Assembly assembly = Assembly.LoadFrom(fileName);

Voir l' Assemblée de documentation de classe pour plus d'informations.

Une fois que vous avez la référence à l' Assembly objet, vous pouvez utiliser assembly.GetTypes() comme Jon l'a déjà démontré.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X