我有一個狡猾的想法,即使用動態變量來測試返回匿名類型的方法的結果 - 更具體地說,它返回一個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,但我不知道做什麼用它可以只使用它作爲雙打的ARRY。
我試着將它作爲double []來投射,但它也不起作用。
另外,我可以輕鬆檢查一個屬性是否定義在動態上?
當您嘗試此'data.newData.ToArray()'會發生什麼? – 2010-11-12 12:46:34
var data2 = data.newData.ToArray(); --->'object'不包含'ToArray'的定義(也試過一些強制轉換) – 2010-11-12 12:49:54