检查多态对象的类型

use*_*648 1 c# polymorphism

在C#中,如果我有一个多态对象,我怎样才能确定对象的类型,而不检查基类型?

这是一个例子:

class object1 : object2
{

}

testObject = new object1();
Run Code Online (Sandbox Code Playgroud)

以下两行代码都返回true:

bool test1 = testObject is object1;
bool test2 = testObject is object2;
Run Code Online (Sandbox Code Playgroud)

如何进行检查以便test2返回false?

Mar*_*zek 8

bool test2 = testObject.GetType() == typeof(object2);
Run Code Online (Sandbox Code Playgroud)