1
我有一个包含一个通用类型的类:如何比较通用参数类型?
class MyClass<T>
{
}
的T类可以是任何类型,包括MyClass<AnotherType>
。 是的,这有点递归,可以有像MyClass<MyClass<MyClass<T>>>
这样的东西。
在MyClass的某个点上,我想知道T
是MyClass<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??
关于“剩下的问题” 。 'typeof(MyClass).IsAssignableFrom(typeof(T))'(我认为)。 – 2013-04-10 12:09:01