我有Linq代码,它枚举了程序集中的所有类,并将它们放入Type
个对象的数组中,以便将它作为AdditionalTypes
参数传递给XML Serializer。我需要过滤该数组的内容,以便它只包含从特定基类继承的类。
如何从Type
对象确定该类是基类的后代?
答案 0 :(得分:4)
您可能正在寻找Type.IsAssignableFrom
或Type.IsSubclassOf
。在这两种情况下,你都需要仔细考虑仿制药是否起作用,因为关系变得更加复杂。
答案 1 :(得分:1)
这样的事情可能会让你到达你需要的地方
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(x => x.GetTypes())
.Where(x => typeof(MyBaseType).IsAssignableFrom(x))
.ToArray();