如何使用反射从对象类型访问列表中的值

本文关键字:列表 访问 类型 何使用 反射 对象 | 更新日期: 2023-09-27 18:34:22

我有一个服务方法,它将返回一个对象类型。

var serviceResponse = InvokeServiceMethod(parameters);

我能够使用反射从中访问数据,例如:

serviceResponse.GetType().GetProperty("NumberOfRecords").GetValue(serviceResponse, null)

在响应中,我有一个列表,但我无法访问这些值。它的抛出错误"索引在数组的边界之外"。我能够看到里面的数据。以下是我正在尝试做的事情。

PropertyInfo summary= serviceResponse.GetType().GetProperty("SummaryList");
PropertyInfo test = summary.PropertyType.GetGenericArguments()[0].GetProperty("Name");

如何使用反射从对象类型访问列表中的值

感谢迪马的建议。成功了。。以下是我为解决此问题所做的工作。

dynamic collection = serviceResponse.GetType().GetProperty("SummaryList").GetValue(serviceResponse, null);
foreach (var item in collection)
{
    var value = item.Name;
}