我试图查看某个对象是否属于指定类型,但该类型是否接收通用,我不知道如何进行此检查。例如,让我们说我有一个班级:
public class MyClass<T> where T : class
{
private T Prop { get; set; }
}
和一个空类:
public class A : Object
{
}
使用给定类型的MyClass
实例化A
的对象,并将此对象类型与MyClass
进行比较,但接收类型为Object
的对象将始终返回false,如以下案例:
class Program
{
static void Main(string[] args)
{
var test = new MyClass<A>();
bool result = test is MyClass<Object>;
Console.WriteLine(result.ToString());
}
}
此处A
的类型为Object
,但结果始终为false。
在这种情况下,我只想检查对象test
的类型是否为MyClass
,而T
是什么。我该怎么做?