Utilisez la réflexion C# pour obtenir le type d'espace de noms
En C#, utiliser la réflexion pour obtenir toutes les classes définies dans un espace de noms spécifique est une technique d'introspection et de programmation dynamique précieuse.
Question :
Comment utiliser la réflexion C# pour obtenir tous les types de classes dans un espace de noms ?
Solution :
La solution implique d'utiliser les classes Assembly
et Type
pour vérifier l'assembly en cours d'exécution et filtrer les classes requises en fonction de l'espace de noms. Voici un exemple de code détaillé :
<code class="language-csharp">string nspace = "..."; // 指定目标命名空间 var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t; q.ToList().ForEach(t => Console.WriteLine(t.Name));</code>
Cet extrait de code récupère l'assembly en cours d'exécution et interroge tous ses types. Il filtre les résultats pour inclure uniquement les classes appartenant à l'espace de noms spécifié (IsClass
). Répertoriez ensuite les classes de résultats en imprimant leurs noms sur la console.
Veuillez noter qu'un espace de noms peut être réparti sur plusieurs modules. Pour gérer cette situation, envisagez de récupérer une liste d’assemblys, puis de rechercher le type dans chaque assembly.
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!