【问题标题】:Taking out all classes of a specific namespace取出特定命名空间的所有类
【发布时间】:2010-09-25 12:35:40
【问题描述】:

有没有办法从特定的命名空间中获取对象?也许是System.Reflections?我想从命名空间Test.TestTypes 中的类型ITestType 中获取所有对象作为对象,这样我就有了TestType1, TestType2, TestType3 的实例列表等等。有人能帮我吗?我不知道在哪里搜索。

【问题讨论】:

标签: c# reflection namespaces


【解决方案1】:

您可以在程序集中找到所有 类型,并找到与给定命名空间匹配的所有类型(这对于 LINQ 来说真的很容易) - 但如果您没有特定的程序集要查看,您需要检查所有个可能的。

但是,如果您正在寻找一种查找所有实时 对象 的方法,那就另当别论了 - 就我而言,如果不使用分析器 API,您将无法做到这一点。我知道。 (即使那样也可能很难 - 我不知道。)

这是 LINQ 查询:

public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly, 
                                               String desiredNamespace)
{
    return assembly.GetTypes()
                   .Where(type => type.Namespace == desiredNamespace);
}

【讨论】:

    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 2011-03-22
    • 2013-12-24
    相关资源
    最近更新 更多