-1

下面的方法返回System.Type我们指定的命名空间中的所有类。但是,我不想要全部,我希望能够只检索我想要的类型。说我想要 type INMIRegisterRepository。如何为此过滤以下列表?请帮忙。

public static List<Type> TypesInNameSpace(Assembly assembly, string nameSpace)
{
    return assembly
            .GetTypes()
            .Where(O => string.Equals(O.Namespace, nameSpace, StringComparison.Ordinal))
            .ToList();
}
4

2 回答 2

0

只需使用Assembly.GetType

assembly.GetType("INMIRegisterRepository");

使用 Lambda 表达式,您可以执行以下操作:

assembly.GetTypes().Where(t => t.GetType() == typeof(INMIRegisterRepository))
于 2013-05-10T09:25:08.230 回答
0
var Item =  assembly
               .GetTypes()
               .FirstOrDefault(O => string.Equals(O.Namespace, 
                                       "INMIRegisterRepository",
                                        StringComparison.Ordinal));

或者,如果您想访问返回的列表,则:

var yourList = TypesInNameSpace(......

var Item = yourList.FirstOrDefault(O => string.Equals(O.Namespace, 
                                           "INMIRegisterRepository",
                                            StringComparison.Ordinal));
于 2013-05-10T09:20:37.093 回答