以下方法返回我们指定的命名空间中的所有System.Type
类。
但是,我不想要所有,我希望能够只检索我想要的类型。说我想要类型INMIRegisterRepository
。如何过滤以下列表?请帮忙。
public static List<Type> TypesInNameSpace(Assembly assembly, string nameSpace)
{
return assembly
.GetTypes()
.Where(O => string.Equals(O.Namespace, nameSpace, StringComparison.Ordinal))
.ToList();
}
答案 0 :(得分: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));
答案 1 :(得分:0)
只需使用Assembly.GetType:
assembly.GetType("INMIRegisterRepository");
使用Lambda表达式可以:
assembly.GetTypes().Where(t => t.GetType() == typeof(INMIRegisterRepository))