从动态对象中读取值 C#

9
我试图从System.Web.Helpers.DynamicJsonObject中读取值,我可以在调试器中看到这些值,但我无法找出如何访问它们。我尝试了以下代码: item.GetType().GetProperty("batch_id").GetValue(item, null); 但是当我尝试时,调试器会显示“item.GetType().GetProperty("batch_id")”为空的响应。
以下是我的解决方案截图: enter image description here 谢谢, -Tesh
3个回答

32

它是动态的,所以您可以直接执行:

string batchId = item.batch_id;

如果由于某种原因,你拥有一个以 string 形式表示的属性名,并且在编译时不知道它,那么索引操作符将起作用:

string value = item["batch_id"];

谢谢Driss,那个完美地解决了我的问题。很高兴你提到了item["batch_id"],因为那是我接下来要问的问题 :)。 - MindGame
1
请问在什么情况下属性名称会以“字符串”形式呈现,什么情况下是正常属性? - Omer Javed

4

1

它不起作用是因为它们是字段,而不是属性。是的,它是动态的,所以你可以只使用item.batch_id


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接