我有一个通用的抽象类,我从中派生出:
abstract class SuperClass<T>
where T : SuperDataClass
abstract class SuperDataClass
数据类型仅限于 SuperDataClass,因此每个具体的数据类型都必须继承自 SuperDataClass。最后我有一对 SuperClass 和 SuperDataClass 继承者,例如:
class DataClassA : SuperDataClass
class ClassA : SuperClass<DataClassA>
class DataClassB : SuperDataClass
class ClassB : SuperClass<DataClassB>
如何在不知道可能的数据类型的情况下检查一个对象,例如 ClassA 是否从 SuperClass 继承?
我尝试了以下方法,但不起作用:
if (testObject.GetType().IsAssignableFrom(typeof(SuperClass<SuperDataClass>))) {
Console.WriteLine("The test object inherits from SuperClass");
}
那么 if 语句需要是什么样子的呢?