我有一个包含泛型类型的类:
class MyClass<T>
{
}
T 类型可以是任何类型,包括MyClass<AnotherType>
. 是的,这有点递归,可以有类似MyClass<MyClass<MyClass<T>>>
.
在某些时候,在 MyClass 中,我想知道T
isMyClass<AnyOtherType>
或任何类型派生自MyClass<AnyOtherType>
. (AnyOtherType 是什么无关紧要,只需要知道 T 是否为 MyClass)。
那么,如何比较 T 型与MyClass<anything>
?
为了避免参数出现问题,我想出的另一件事是进行MyClass<T>
继承MyClass
(不带参数),以使比较更容易。
class MyClass<T> : MyClass
但问题仍然存在:
How can I compare T with MyClass to know if it's some type that inherits MyClass??