Maison > développement back-end > C++ > Comment récupérer toutes les classes dans un espace de noms spécifique en C# ?

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

Mary-Kate Olsen
Libérer: 2025-01-04 00:31:44
original
349 Les gens l'ont consulté

How to Retrieve All Classes within a Specific Namespace in C#?

Récupération de classes dans un espace de noms en C#

En C#, l'obtention de toutes les classes dans un espace de noms spécifique nécessite une approche indirecte. Pour ce faire :

  1. Énumérer les types d'assemblage :

    • Récupérer tous les types au sein de l'assemblage examiné.
  2. Filtrer par Espace de noms :

    • Vérifiez l'espace de noms de chaque type, en ne conservant que ceux de l'espace de noms cible.

L'extrait de code suivant le démontre processus :

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 utilisation :

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

Pour les versions .NET antérieures à 2.0, où Assembly.GetExecutingAssembly() n'est pas disponible :

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

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal