![](/img/trans.png)
[英]Is it possible to declare an anonymous type in C# with a variable/dynamic set of fields?
[英]Using dynamic in C# to access field of anonymous type - possible?
我有一個 controller 方法:
public JsonResult CalculateStuff(int coolArg)
{
if(calculatePossible)
return Json(CoolMethod(coolArg));
else return Json(new { Calculated = false });
}
現在,我想測試一下。
public void MyTest
{
var controller = GetControllerInstance();
var result = controller.CalculateStuff().Data as dynamic;
Assert.IsTrue(result.Calculated == false);
}
這會引發 RuntimeBinderException,說明未定義 Calculated。 有什么辦法可以做到這一點?
更新
按照 Jons 的建議,我使用 InternalsVisibleTo 與我的測試程序集交朋友。 一切正常。 謝謝喬恩。
您可以這樣做,但只能在同一個程序集中。 匿名類型是內部的。
不過,如果您在生產程序集中使用InternalsVisibleTo
來授予對測試程序集的訪問權限,也應該沒問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.