有没有办法从特定的命名空间获取对象?也许与System.Reflections
?我想从ITestType
命名空间中的类型中获取所有对象Test.TestTypes
作为对象,以便我有一个实例列表TestType1, TestType2, TestType3
等等。有人能帮我吗?我不知道在哪里搜索。
Xelluloid
问问题
4989 次
1 回答
22
您可以找到程序集中的所有类型,并找到与给定命名空间匹配的所有类型(这对于 LINQ 来说非常容易)——但是如果您没有要查看的特定程序集,则需要检查所有可能的。
但是,如果您正在寻找一种查找所有活动对象的方法,那就另当别论了——据我所知,如果不使用分析器 API,您将无法做到这一点。(即使那样也可能很难——我不知道。)
这是 LINQ 查询:
public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly,
String desiredNamespace)
{
return assembly.GetTypes()
.Where(type => type.Namespace == desiredNamespace);
}
于 2008-12-05T13:49:49.093 回答