小编典典

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

all

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

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

如果我只有“value2”作为字符串,如何获得 d.value2 (“random”) 的值?在 javascript 中,我可以执行
d[“value2”] 来访问值(”random”),但我不确定如何使用 c# 和反射来执行此操作。我最接近的是:

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

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


阅读 60

收藏
2022-06-20

共1个答案

小编典典

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

d.GetType().GetProperty("value2").GetValue(d, null);
2022-06-20