Maison > développement back-end > C++ > Comment obtenir toutes les classes d'un espace de noms en C# ?

Comment obtenir toutes les classes d'un espace de noms en C# ?

DDD
Libérer: 2024-12-31 17:17:15
original
551 Les gens l'ont consulté

How to Get All Classes from a Namespace in C#?

Comment récupérer toutes les classes dans un espace de noms en C#

L'énumération de toutes les classes dans un espace de noms spécifié est réalisable en C# grâce à une technique qui examine tous les types au sein d’un assembly et les filtre en fonction de leurs espaces de noms. Voici l'approche en détail :

using System.Reflection;

private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
    return assembly.GetTypes()
                    .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal))
                    .ToArray();
}
Copier après la connexion

Exemple d'utilisation :

Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
for (int i = 0; i < typelist.Length; i++)
{
    Console.WriteLine(typelist[i].Name);
}
Copier après la connexion

Avant .Net 2.0, où Assembly.GetExecutingAssembly() n'est pas disponible, une approche alternative impliquant typeof() est requis pour obtenir l'assembly :

Assembly myAssembly = typeof(<Namespace>.<someClass>).GetTypeInfo().Assembly;
Type[] typelist = GetTypesInNamespace(myAssembly, "<Namespace>");
for (int i = 0; i < typelist.Length; i++)
{
    Console.WriteLine(typelist[i].Name);
}
Copier après la connexion

En utilisant ces techniques, les développeurs peuvent récupérer efficacement toutes les classes résidant dans un espace de noms spécifique, permettant l'énumération dynamique des classes dans les applications C#.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal