C# 从程序集c获取类型时,如何排除集合#
我有以下方法:C# 从程序集c获取类型时,如何排除集合#,c#,reflection,C#,Reflection,我有以下方法: public static Type[] GetAllClasses(this Assembly assembly) { var types= assembly.GetExportedTypes().Where(x=>x.IsClass).OrderBy(x=>x.Name).ToArray(); return types; } 我想排除所有属于集合的类型。我如何才能做到这一点 调试时,我可以看到集合有一个基类型“List'1
public static Type[] GetAllClasses(this Assembly assembly)
{
var types= assembly.GetExportedTypes().Where(x=>x.IsClass).OrderBy(x=>x.Name).ToArray();
return types;
}
我想排除所有属于集合的类型。我如何才能做到这一点
调试时,我可以看到集合有一个基类型“List'1”。如何捕获并排除这些基类型
非常感谢这可能有用
var types= assembly.GetExportedTypes()
.Where(x=>x.IsClass && x.GetInterface("IEnumerable")==null)
.OrderBy(x=>x.Name).ToArray();
(如果要排除这些接口,请使用更具体的集合接口-IList或ICollection)刚刚进行了修改。没有看到您想要排除集合。