我正在为我的API编写一些系统测试。因为我想要捕获向后兼容性问题,所以我没有使用动态来引用合同模型。
在代码中,我可以查看动态对象的属性;但是,如果我尝试在监视窗口中评估相同的表达式,它将失败,并显示以下错误:
错误CS1061:'对象'不包含的定义 ' productDefinitionId'没有接受第一个的扩展方法 类型'对象'可以找到(你错过了指令吗? 或汇编参考?)
快速观看/即时窗口中的情况相同。我记得能够做到这一点,但我最近升级到了VS2015,因此使用了新的Roslyn编译器(虽然我还在使用C#5.0) - 这可能是吗?如果是这样,为什么?
public dynamic LastAddedOrEditedProduct { get; private set; }
private void SetProductResponse(HttpResponseMessage response)
{
var result = response.Content.ReadAsStringAsync().Result;
LastAddedOrEditedProduct = JsonConvert.DeserializeObject<dynamic>(result);
}
其中结果是JSON,如
{
"productDefinitionId": 222
}
答案 0 :(得分:0)
您必须使用.Value
,然后继续使用下一个对象。
lastAddedProduct.Value.productDefinitionId