对于一个对象,我可以使用反射获得它的所有子类吗
可以加载程序集中的所有类型,然后枚举它们以查看哪些类型实现了对象的类型。您说的是“object”,所以下面的代码示例不适用于接口。此外,此代码示例仅搜索与中声明的对象相同的程序集
A类
{}
...
typeof(A).Assembly.GetTypes()。其中(type=>;type.IsSubclassOf(typeof(A));
或者按照注释中的建议,使用此代码示例搜索所有加载的程序集
var子类=
来自AppDomain.CurrentDomain.GetAssemblys()中的程序集
来自程序集中的类型。GetTypes()
其中类型IsubClassof(类型(A))
选择类型
这两个代码示例都要求您使用System.Linq添加