如何测试类型是否是某种List<>?

时间:2012-11-21 11:27:42

标签: c# class inheritance

  

可能重复:
  Check if a class is derived from a generic class

如果某种类型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

我希望这个问题已经在其他地方得到了回答,但我没有找到它,因为我发现继承语言,多态性和泛型可能会让人感到困惑。

1 个答案:

答案 0 :(得分:0)

查看Type.IsAssignableFrom方法。