У меня была хитрая идея использовать динамическую переменную для проверки результатов метода, который возвращает анонимный тип - точнее, он возвращает 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, но я не знаю, что с ним делать, чтобы можно было просто использовать его как массив значений типа double.
Я пытался привести его к двойному типу [], но он тоже не работает.
Кроме того, могу ли я легко проверить, определено ли свойство в динамике?