Maison >développement back-end >C++ >Comment puis-je récupérer toutes les classes d'un espace de noms spécifique en C# ?
Récupération de toutes les classes dans un espace de noms en C#
Pour obtenir toutes les classes dans un espace de noms spécifique en C#, utilisez la technique suivante :
Obtenez tous les types dans l'assembly cible à l'aide de Assembly.GetTypes().
Filtrez les types obtenus en fonction de leur espace de noms. Utilisez Where avec String.Equals pour faire correspondre l'espace de noms de chaque type à l'espace de noms souhaité.
Convertissez la collection de types résultante en un tableau à l'aide de ToArray().
Exemple :
using System.Reflection; private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) { return assembly.GetTypes() .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)) .ToArray(); }
Pour utiliser cette méthode, invoquez-la avec l'assembly cible et l'espace de noms :
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
Pour les versions antérieures à .Net 2.0 :
Assembly myAssembly = typeof(Namespace.someClass).GetTypeInfo().Assembly; Type[] typelist = GetTypesInNamespace(myAssembly, "Namespace");
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!