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; }