class Foo { }
class Foo1 : Foo { }
class Foo2 : Foo { }
How would I be able to get all the classes that use Foo as a base class? The inherited classes aren't necessary in the same assembly.
class Foo { }
class Foo1 : Foo { }
class Foo2 : Foo { }
How would I be able to get all the classes that use Foo as a base class? The inherited classes aren't necessary in the same assembly.
This is not fast, but as long as Foo
is a concrete type (not an interface), then it should work. Foo
itself is not returned by this code.
AppDomain.CurrentDomain.GetAssemblies().SelectMany(assembly => assembly.GetTypes()).Where(type => type.IsSubclassOf(typeof(Foo)));