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