Obtenir la liste des classes dans l’espace de noms en C #

Je dois obtenir par programme une List de toutes les classes dans un espace de noms donné. Comment puis-je réaliser cela (reflection?) En C #?

 var theList = Assembly.GetExecutingAssembly().GetTypes() .Where(t => t.Namespace == "your.name.space") .ToList(); 

Sans LINQ:

Essayer:

 Type[] types = Assembly.GetExecutingAssembly().GetTypes(); List myTypes = new List(); foreach (Type t in types) { if (t.Namespace=="My.Fancy.Namespace") myTypes.Add(t); } 

Jetez un coup d’oeil à ceci Comment obtenir toutes les classes dans un espace de noms? la réponse fournie renvoie un tableau de type [] que vous pouvez modifier facilement pour renvoyer la liste

Je ne peux que penser à parcourir en boucle les types dans un espace suffisant pour en trouver dans le bon espace de noms

 public List GetList() { List types = new List(); var assembly = Assembly.GetExecutingAssembly(); foreach (var type in assembly .GetTypes()) { if (type.Namespace == "Namespace") { types.Add(type); } } return types; }