如果子类型是父类型

Mic*_*Leo 4 .net c# types

我试图将一个继承的类类型传递给一个方法,并想检查该类型是否是一种基类.我怎么能这样做,因为inherited.GetType()== typeof(baseclass)会返回false?

Mat*_*gen 8

is运营商做到这一点.

if (inherited is baseclass)
{
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

Type.BaseType如果您想知道它正是直接父级,您也可以使用.


Yuv*_*kov 6

您还可以使用Type.IsSubclassOf

inherited.GetType().IsSubclassOf(typeof(Base));
Run Code Online (Sandbox Code Playgroud)