如何确定未知类型是否为List <t>以及T是什么类型

时间:2015-11-12 09:21:14

标签: c# .net reflection

我试图提取未知属性的类型并确定它是否为List<T>,以及T是否属于特定类型。

我理解如何使用反射来确定属性的类型,但我无法弄清楚如何确定属性是List<T>还是T类型。希望你们能帮忙。

修改:How to get the type of T from a member of a generic class or method?不太适用。那里的答案假设我知道我的未知类型是List开头。我已将我的标题编辑得更清楚。

1 个答案:

答案 0 :(得分:1)

object o = new List<double>();

Type t = o.GetType();

if (t.IsGenericType && t.GetGenericTypeDefinition() == typeof(List<>))
    Console.WriteLine("This is a list of type {0}", t.GenericTypeArguments[0].Name);