取出特定命名空间的所有类

Seb*_*ler 11 c# reflection namespaces

有没有办法从特定的命名空间中获取对象?或许与System.Reflections?我希望将所有对象从ITestType命名空间中的类型Test.TestTypes作为对象获取,以便我有一个实例列表,TestType1, TestType2, TestType3依此类推.有人能帮我吗?我不知道在哪里搜索.

Jon*_*eet 22

你可以找到所有类型的组件内,并找到所有那些符合给定命名空间哪种类型的(这与LINQ很容易) -但如果你没有一个特定的组件翻阅,你需要检查所有的可能的.

但是,如果您正在寻找一种查找所有活动对象的方法,那就是另一回事了 - 据我所知,如果不使用探查器API,就无法做到这一点.(即便如此,它可能很难 - 我不知道.)

这是LINQ查询:

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