我想dynamic用字符串访问 c# 属性的值:
dynamic
dynamic d = new { value1 = "some", value2 = "random", value3 = "value" };
如果我只有“value2”作为字符串,如何获得 d.value2 (“random”) 的值?在 javascript 中,我可以执行 d[“value2”] 来访问值(”random”),但我不确定如何使用 c# 和反射来执行此操作。我最接近的是:
d.GetType().GetProperty("value2")…但我不知道如何从中获得实际价值。
d.GetType().GetProperty("value2")
一如既往,感谢您的帮助!
获得PropertyInfo(from GetProperty) 后,您需要调用GetValue并传入要从中获取值的实例。在你的情况下:
PropertyInfo
GetProperty
GetValue
d.GetType().GetProperty("value2").GetValue(d, null);