【发布时间】:2016-05-12 10:24:49
【问题描述】:
我需要在不知道泛型类型参数的情况下测试一个值是否是泛型基类的实例。使用MSDN example 作为我示例的基础,这就是我想要完成的:
using System;
public class Class1<T> { }
public class DerivedC1 : Class1<int> { }
class IsSubclassTest
{
public static void Main()
{
Console.WriteLine(
"DerivedC1 subclass of Class1: {0}",
typeof(DerivedC1).IsSubclassOf(typeof(Class1<>)) // <- Here.
);
}
}
虽然这在语法上是正确的,但它总是产生错误。如果我删除泛型类型参数,它会按预期工作(返回 true)。
如何在不知道其泛型类型参数的情况下测试类类型是否是泛型基类的子类?
【问题讨论】:
标签: c# reflection