如果子类型是父类型

时间:2014-08-14 04:09:06

标签: c# .net types

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

3 个答案:

答案 0 :(得分:8)

is运算符执行此操作。

if (inherited is baseclass)
{
    // do stuff
}

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

答案 1 :(得分:4)

您也可以使用Type.IsSubclassOf

inherited.GetType().IsSubclassOf(typeof(Base));

答案 2 :(得分:3)

使用Type.IsAssignableFrom

if (typeof(baseclass).IsAssignableFrom(inh.GetType())
{
...
}
相关问题