如何检查一个类是否inheritance另一个类而不实例化它?

假设我有一个如下所示的类:

class Derived : // some inheritance stuff here { } 

我想在我的代码中检查这样的事情:

 Derived is SomeType; 

但是看起来is运算符需要派生typesvariablesDervied,而不是Derived本身。 我不想创buildDerivedtypes的对象。
我怎样才能确保DerivedinheritanceSomeType而不实例化?

PS如果有帮助,我想像关键字与generics一样。
编辑:
类似于这个答案,但是它正在检查一个对象。 我想检查课程本身。

要检查可分配性,可以使用Type.IsAssignableFrom方法:

 typeof(SomeType).IsAssignableFrom(typeof(Derived)) 

这将按照您对types平等,inheritance关系和接口实现的期望进行工作,但是当您在显式/隐式转换运算符中查找“可分配性”时,则不会这样

要检查严格inheritance,可以使用Type.IsSubclassOf

 typeof(Derived).IsSubclassOf(typeof(SomeType)) 

尝试这个

 typeof(IFoo).IsAssignableFrom(typeof(BarClass)); 

这将告诉你BarClass(Derived)是否实现IFoo(SomeType)或不