取出特定命名空间的所有类
Posted
技术标签:
【中文标题】取出特定命名空间的所有类【英文标题】:Taking out all classes of a specific namespace 【发布时间】:2010-09-25 12:35:40 【问题描述】:有没有办法从特定的命名空间中获取对象?也许是System.Reflections
?我想从命名空间Test.TestTypes
中的类型ITestType
中获取所有对象作为对象,这样我就有了TestType1, TestType2, TestType3
的实例列表等等。有人能帮我吗?我不知道在哪里搜索。
【问题讨论】:
Getting all types in a namespace via reflection的可能重复 【参考方案1】:您可以在程序集中找到所有 类型,并找到与给定命名空间匹配的所有类型(这对于 LINQ 来说真的很容易) - 但如果您没有特定的程序集要查看,您需要检查所有个可能的。
但是,如果您正在寻找一种查找所有实时 对象 的方法,那就另当别论了 - 就我而言,如果不使用分析器 API,您将无法做到这一点。我知道。 (即使那样也可能很难 - 我不知道。)
这是 LINQ 查询:
public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly,
String desiredNamespace)
return assembly.GetTypes()
.Where(type => type.Namespace == desiredNamespace);
【讨论】:
以上是关于取出特定命名空间的所有类的主要内容,如果未能解决你的问题,请参考以下文章