从PropertyInfo检索未知类型的列表

本文关键字:列表 类型 未知 PropertyInfo 检索 | 更新日期: 2023-09-27 17:59:07

我有一个定义了列表的类。

class Program
{          
      public List<string> list { get; set; }
};

我需要使用PropertyInfo检索此列表,但问题是该列表可以是任何类型(此处为字符串)。如何使用propertyinfo提取列表的值,因为getValue()不会返回列表。

从PropertyInfo检索未知类型的列表

您可以将其强制转换为IList,然后使用循环:

var myList = (IList)typeof(Program)
                    .GetProperty("list")
                    .GetValue(yourInstance);

如果你不知道列表的实际类型,那就是你所能做的。如果你在编译时知道类型,那么你可以将其转换为IList<T>