在C#中获取命名空间中的类列表
我需要以编程方式获取给定命名空间中所有类的List
。 我怎样才能在C#中实现这个(reflection?)?
var theList = Assembly.GetExecutingAssembly().GetTypes() .Where(t => t.Namespace == "your.name.space") .ToList();
没有LINQ:
尝试:
Type[] types = Assembly.GetExecutingAssembly().GetTypes(); List myTypes = new List (); foreach (Type t in types) { if (t.Namespace=="My.Fancy.Namespace") myTypes.Add(t); }
看一下如何获取命名空间中的所有类? 提供的答案返回一个Type []数组,您可以轻松修改它以返回List
我只能想到循环遍历类型以在正确的命名空间中找到它们
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; }