class Foo { }
class Foo1 : Foo { }
class Foo2 : Foo { }
我如何能够将所有使用Foo的类作为基类?继承的类在同一个程序集中不是必需的。
答案 0 :(得分:16)
这并不快,但只要Foo
是具体类型(不是接口),它就应该有效。此代码不会返回Foo
本身。
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(assembly => assembly.GetTypes())
.Where(type => type.IsSubclassOf(typeof(Foo)));