我试图提取未知属性的类型并确定它是否为List<T>
,以及T
是否属于特定类型。
我理解如何使用反射来确定属性的类型,但我无法弄清楚如何确定属性是List<T>
还是T
类型。希望你们能帮忙。
修改:How to get the type of T from a member of a generic class or method?不太适用。那里的答案假设我知道我的未知类型是List
开头。我已将我的标题编辑得更清楚。
答案 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);