Se ho un parametro dinamico, il compilatore sembra abbandonare il tipo restituito e pensare che sia dinamico.Il parametro dinamico induce il compilatore a pensare che il metodo restituisca dinamico
Ad esempio:
public MethodResult IsValid(object userLogin)
{
return new MethodResult();
}
Si potrebbe pensare che:
var isValidResult = IsValid(someObject());
va letta come
dynamic -> MethodResult
Ma pensa che sia:
dynamic -> dynamic
L'aggiunta di un parametro dinamico alla firma impedisce al compilatore di sapere quale dovrebbe essere il rendimento nonostante il ritorno sia fortemente digitato?
Per ulteriori dettagli, selezionare [MSDN: utilizzo dei tipi dinamici] (http://msdn.microsoft.com/en-us/library/dd264736.aspx) - "La risoluzione del sovraccarico si verifica in fase di esecuzione anziché in fase di compilazione se uno o più degli argomenti in una chiamata al metodo hanno il tipo dinamico, o se il destinatario della chiamata al metodo è di tipo dinamico. " - Quindi come risultato non è noto fino al runtime quale metodo verrà chiamato affatto. –