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



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

我知道如何使用反射来确定属性的类型,但我不知道如何确定属性是否是List<T>以及T是什么类型。希望你们能帮忙。

编辑:如何从泛型类或方法的成员中获取T的类型?不太适用。那里的答案假设我知道我的未知类型是List。我把标题编辑得更清楚一些。

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);

相关内容

  • 没有找到相关文章