openclassroom - instancier une classe c#




C#: Liste toutes les classes dans l'assemblage (2)

Je voudrais produire (par programmation - C #) une liste de toutes les classes dans mon assembly.

Des conseils ou un exemple de code comment faire cela? Réflexion?


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

Assembly myAssembly = Assembly.GetExecutingAssembly();

System.Reflection espace de noms.

Si vous souhaitez examiner un assembly auquel vous n'avez aucune référence, vous pouvez utiliser l'une des deux:

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 la documentation de la classe Assembly pour plus d'informations.

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


Utilisez Assembly.GetTypes . Par exemple:

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




class-structure