C# 如何查找基类的直接后代类型?

C# 如何查找基类的直接后代类型?,c#,inheritance,reflection,types,descendant,C#,Inheritance,Reflection,Types,Descendant,我需要获取所有类型的程序集,这些程序集继承一些基类,但只继承第一个子类。例如,如果我有: class Base { } class FirstClass : Base { } class SecondClass : FirstClass { } 现在 应该只返回FirstClass,而不返回SecondClass。有办法找到答案吗?您可以使用 e、 g (仅供参考:我认为没有办法找到类型直接实现的接口。)好的,我现在不需要考虑接口,所以没关系。 var directOnes = as

我需要获取所有类型的程序集,这些程序集继承一些基类,但只继承第一个子类。例如,如果我有:

class Base
{

}

class FirstClass : Base
{

}

class SecondClass : FirstClass
{

}
现在


应该只返回
FirstClass
,而不返回
SecondClass
。有办法找到答案吗?

您可以使用

e、 g


(仅供参考:我认为没有办法找到类型直接实现的接口。)

好的,我现在不需要考虑接口,所以没关系。
var directOnes = assembly.GetTypes().Where(t => t.IsSubclassOf(typeof(Base)));
var directOnes = assembly.GetTypes().Where(t => t.BaseType == (typeof(Base)));