【问题标题】:Read values from a Dynamic Object C#从动态对象 C# 中读取值
【发布时间】:2012-10-16 20:19:16
【问题描述】:

我正在尝试从 System.Web.Helpers.DynamicJsonObject 读取值。我可以在调试器中看到这些值,但我不知道如何访问它们。这个我试过了

item.GetType().GetProperty("batch_id").GetValue(item, null);

但是当我尝试在调试器中得到这个响应时“item.GetType().GetProperty("batch_id")' is null”

我附上了我的解决方案中的图片

谢谢你, -Tesh

【问题讨论】:

    标签: c# asp.net-mvc json dynamicobject


    【解决方案1】:

    它是动态的,所以你可以这样做:

    string batchId = item.batch_id;
    

    如果由于某种原因您在 string 中有属性名称,并且在编译时不知道它,则索引运算符将起作用:

    string value = item["batch_id"];
    

    【讨论】:

    • 谢谢 driss,效果很好。我很高兴你提到了 item["batch_id"],因为那是我的下一个问题 :)。
    • 请你解释一下在什么情况下属性名称会在“字符串”中,在什么情况下是普通属性?
    【解决方案2】:

    尝试枚举值DynamicJsonObject.GetDynamicMemberNames Method。它返回 字符串IEnumerable

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-06
        • 2010-12-27
        • 1970-01-01
        • 2020-10-21
        • 2023-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多