如何获取动态对象的子项的值

时间:2015-10-13 23:55:29

标签: c# asp.net .net dynamic asp.net-mvc-5

我正在开发一个asp.net mvc-5 Web应用程序。我在我的Web应用程序中调用了一些power-shell脚本,并使用powershell脚本结果填充动态对象..这是我从运行PowerShell脚本得到的结果的一部分: -

enter image description here

任何人都可以尝试我如何访问例如BaseObject.Build值吗?我尝试了以下results[0].BaseObject.Build,但我得到了一个空引用异常。因为results[0].BaseObject将为空!谁能想到这个呢?

2 个答案:

答案 0 :(得分:1)

你可以使用这种方法

public static object GetPropValue(object src, string propName)
{
   return src.GetType().GetProperty(propName).GetValue(src, null);
}

通过GetPropValue调用此方法(结果[0]," Build")

它将返回Build值

有关详细信息,请返回此帖Get property value from string using reflection in C#

答案 1 :(得分:0)

尝试使用反射获取BaseObject,例如:

results2.GetType().GetProperty("BaseObject").GetValue(results2, null)

results2.GetType().GetField("BaseObject").GetValue(results2, null)