我需要找出一个类型是否是某个泛型类型。
class MyType<T> {}
var instance = new MyType<int>();
var type = instance.GetType();
此检查不起作用,但这是我要检查的。如果类型是该泛型类型,则不管是什么T
。
type == typeof( MyType<> )
这确实有效,但感觉很脏。它也可能是错误的,因为它不是FullName
.
type.Name == typeof( MyType<> ).Name
我假设有一种方法可以做到这一点,但我还没有找到。使用IsAssignableFrom
将不起作用,因为我需要知道当前类型而不是它的父母之一是否相等。