代码之家  ›  专栏  ›  技术社区  ›  Wouter Vanherck

C:处理属性值具有意外结果的动态

  •  0
  • Wouter Vanherck  · 技术社区  · 8 年前

    这个 dynamics 打字一直是我的福气。将响应作为动态对象接收并使用其属性(而不必定义模型)可以节省大量时间。我只遇到过一个问题,但一直没有解决:

    CodeScreenshot

    在上面的截图中发生了什么,解决方法是什么? 如您所见,变量 resultGetBudget 已经正确初始化,并且 code 和 current_amount 财产。然而,当我试图在一段时间后访问这些变量时,其中一个突然变成 null 是的。更奇怪的是,如果我不把它们放在变量中,它们都是 无效的 是的。

    我以前研究过这个问题,发现了一些 不总是工作区 喜欢 ExpandoObject ,正如一位微软MVP建议的那样(再也找不到源代码了),但是现在我已经第二次遇到这个问题了,真的很困扰我!

    1 回复  |  直到 8 年前
        1
  •  1
  •   Legion    8 年前

    应该是

    resultGetBudget?.result.current_amount
    

    我认为,“当前量”在一个“结果”数组中,“代码”之所以起作用是因为它在数组之外。

    像json那样思考应该是这样的:

    main_object{
       code:200
       result: {
            start_amount:200
            current_amount:200
            [..... other stuff.....]
       }
    }