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

C# 如何获取基类的所有继承类?,c#,reflection,inheritance,assemblies,C#,Reflection,Inheritance,Assemblies,我怎样才能得到所有使用Foo作为基类的类呢?继承的类在同一程序集中不是必需的。这不是很快,但只要Foo是一个具体类型(不是接口),它就应该可以工作Foo本身不由该代码返回 class Foo { } class Foo1 : Foo { } class Foo2 : Foo { } 设计时还是运行时?如果是设计,那么你可以参考这个问题来获得一些提示,我认为没有更快的方法来做到这一点。 AppDomain.CurrentDomain.GetAssemblies()

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

这不是很快,但只要
Foo
是一个具体类型(不是接口),它就应该可以工作<代码>Foo本身不由该代码返回

    class Foo { }

    class Foo1 : Foo { }

    class Foo2 : Foo { }

设计时还是运行时?如果是设计,那么你可以参考这个问题来获得一些提示,我认为没有更快的方法来做到这一点。
AppDomain.CurrentDomain.GetAssemblies()
                       .SelectMany(assembly => assembly.GetTypes())
                       .Where(type => type.IsSubclassOf(typeof(Foo)));