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

时间:2014-12-17 05:12:58

标签: c# reflection

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

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

1 个答案:

答案 0 :(得分:0)

感谢Dima的建议。它起作用..以下是我为解决这个问题所做的工作..

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