I need to get all types of an assembly that inherits some base class but only the first descendants. For instance if I have:
class Base
{
}
class FirstClass : Base
{
}
class SecondClass : FirstClass
{
}
Now
var directOnes = assembly.GetTypes().Where(t => t.IsSubclassOf(typeof(Base)));
should return only FirstClass
and not SecondClass
. Is there a way to find out?
Instead of IsSubclassOf()
you can use Type.BaseType
e.g.
var directOnes = assembly.GetTypes().Where(t => t.BaseType == (typeof(Base)));
(FYI: I don't think there's a way to find the interfaces that a type directly implements.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With