【发布时间】:2013-05-02 02:52:13
【问题描述】:
我需要判断一个类型是否是某个泛型类型。
class MyType<T> {}
var instance = new MyType<int>();
var type = instance.GetType();
这个检查不起作用,但这是我要检查的。如果该类型是该泛型类型,则不管T 是什么。
type == typeof( MyType<> )
这确实有效,但感觉很脏。它也可能是错误的,因为它不是FullName。
type.Name == typeof( MyType<> ).Name
我假设有一种方法可以做到这一点,但我还没有找到。使用 IsAssignableFrom 将不起作用,因为我需要知道当前类型是否相等,而不是它的父母之一。
【问题讨论】: