可能重复:
检查一个类是否派生自一个泛型类
如果某种类型,我如何测试类型List<>
?例如。正如下面的三个类。
public class Words : List<string>
{
}
public class Numbers : List<double>
{
}
public class BigWords : Words
{
}
我试过了
typeof(List<DateTime>).IsSubclassOf(typeof(List<>))
typeof(Words).IsSubclassOf(typeof(List<>))
typeof(Numbers).IsSubclassOf(typeof(List<>))
typeof(BigWords).IsSubclassOf(typeof(List<>))
但这又回来False
了四次。我期望True
每个。
我希望这个问题已经在其他地方得到解答,但我没有找到它,因为我发现继承、多态和泛型的语言可能会令人困惑。