Ho un metodo di controllo:Uso dinamico in C# per accedere al campo di tipo anonimo - possibile?
public JsonResult CalculateStuff(int coolArg)
{
if(calculatePossible)
return Json(CoolMethod(coolArg));
else return Json(new { Calculated = false });
}
Ora, mi piacerebbe provare questo.
public void MyTest
{
var controller = GetControllerInstance();
var result = controller.CalculateStuff().Data as dynamic;
Assert.IsTrue(result.Calculated == false);
}
Questo genera un RuntimeBinderException che dice che Calcolato non è definito. C'è un modo per raggiungere questo obiettivo?
UPDATE
Seguendo il consiglio Jons', ho usato InternalsVisibleTo di fare amicizia con il mio montaggio di prova. Tutto funziona bene Grazie Jon.
Quindi, non dovresti accettare la risposta di Jons allora? –
@Patrick Beh, l'avrei fatto immediatamente, ma SO mi ha detto che dovevo aspettare 10 minuti ... Lo farò ora. – Max