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

本文关键字:类型 gt 以及 是什么 何确定 未知 List lt 是否是 | 更新日期: 2023-09-27 18:21:41

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

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

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

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

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