我需要找出一个类型是否是特定的泛型类型。
class MyType<T> {}
var instance = new MyType<int>();
var type = instance.GetType();
这个检查不起作用,但这就是我想要检查的内容。如果类型是那种通用类型,不管 T
是什么。
type == typeof( MyType<> )
这个方法可以运行,但感觉不太优雅。而且因为它不是FullName
,所以可能是错误的。
type.Name == typeof( MyType<> ).Name
我假设有一种方法可以做到这一点,但我还没有找到。使用IsAssignableFrom
不起作用,因为我需要知道当前类型是否相等,而不是其父类型之一。