通过字符串获取C#动态属性的值

我想dynamic使用字符串访问c#属性的值:

dynamic d = new { value1 = "some", value2 = "random", value3 = "value" };

如果我只有“ value2”作为字符串,如何获得d.value2的值(“随机”)?在javascript中,我可以执行d [“

value2”]来访问值(“随机”),但是我不确定如何使用c#和反射来做到这一点。我最接近的是:

d.GetType().GetProperty("value2") …但是我不知道如何从中获得实际价值。

一如既往,感谢您的帮助!

回答:

获得PropertyInfo(from GetProperty)之后,您需要调用GetValue并传入要从中获取值的实例。在您的情况下:

d.GetType().GetProperty("value2").GetValue(d, null);

以上是 通过字符串获取C#动态属性的值 的全部内容, 来源链接: utcz.com/qa/407327.html

回到顶部