如何比较两种接收泛型的类?

时间:2016-07-05 13:30:26

标签: c# generics compare

我试图查看某个对象是否属于指定类型,但该类型是否接收通用,我不知道如何进行此检查。例如,让我们说我有一个班级:

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是什么。我该怎么做?

0 个答案:

没有答案