我写了一个小方法来列出继承的类型,但它不适TreeNode
用于例如:
假设这个类:
class B { }
class A : B { }
class C :TreeNode { }
接着:
GetInheritedTypes(typeof(A)); //typeof(B)
GetInheritedTypes(typeof(C)); // 0 items
列出它们的方法:
List<Type> GetInheritedTypes(Type baseType)
{
return Assembly.GetAssembly(baseType)
.GetTypes()
.Where(type => type != baseType && type.IsAssignableFrom(baseType))
.ToList();
}
为什么GetInheritedTypes(typeof(C))
返回 0 个项目而不是Typeof(TreeNode)
?