c# - 如何获取基类的所有继承类?

标签 c# reflection inheritance assemblies

<分区>

    class Foo { }

    class Foo1 : Foo { }

    class Foo2 : Foo { }

我怎样才能获得所有使用 Foo 作为基类的类?继承的类在同一个程序集中不是必需的。

最佳答案

这并不快,但只要 Foo 是具体类型(不是接口(interface)),它就应该可以工作。此代码不返回 Foo 本身。

AppDomain.CurrentDomain.GetAssemblies()
                       .SelectMany(assembly => assembly.GetTypes())
                       .Where(type => type.IsSubclassOf(typeof(Foo)));

关于c# - 如何获取基类的所有继承类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665120/

相关文章:

java - 如何在 Java 中创建一个泛型数组?

c++ - 如何在 C++ 中对某些数据结构进行父类(super class)化?

c# - 字幕仅适用于全屏

list<childs> 的 c# Unity 容器构造函数注入(inject)

asp.net - ASP.NET 是否使用反射来检查事件处理程序是否存在?

c++ - 编译时检查C++中对struct的更改

c# - WPF 数据绑定(bind)架构问题

c# - 尝试从 ASP.NET 中的 App_Code 文件夹中的另一个类派生时发生类型冲突

java - 如何强制子类调用抽象实现的方法

oop - 我应该使用继承吗?