我有一个巧妙的想法,即使用动态变量来测试返回匿名类型的方法的结果——更具体地说,它返回一个 JsonResult,json 看起来像这样
{ "newData" : [ 1120741.2697475906,
826527.64681837813
],
"oldData" : [ 1849870.2326665826,
1763440.5884212805
],
"timeSteps" : [ 0,
4.8828124999999998e-10
],
"total" : 2
}
我可以阅读给我匿名类型的 JSonResult。这是我的代码:
var jsonResult = controller.GetChangeData(1) as JsonResult;
dynamic data = jsonResult.Data;
Assert.AreEqual(2, data.total); // This works fine :)
但是,例如,我如何获得“newData”?这段代码......
var newData = data.newData;
给了我一个 System.Linq.Enumerable.WhereSelectArrayIterator,但我不知道如何处理它才能将它用作一系列双打。
我尝试将其转换为双 [],但它也不起作用。
顺便说一句,我可以轻松检查是否在动态上定义了属性吗?