我有很多课程。
public abstract class ClassA {}
public class ClassB : ClassA {}
public class ClassC : ClassA {}
public class ClassD : ClassB {}
public class ClassE : ClassB {}
public class ClassF : ClassC {}
public class ClassG : ClassC {}
我有一个输入为ClassA
的对象。我想检查此对象是否是ClassB
的实例,当它实际上是D, E, F or G
的实例时。通过检查它是继承B, D or E
还是B
来测试它是否为B
。
if (obj.GetType == typeof(ClassB)) returns false
或ClassD
时 ClassE
。
在没有明确检查从B
继承的每一种类型的情况下,我应该怎么做?