lenguaje estatico entre documentacion dinamico diferencia comentarios c# c#-4.0 dynamictype

estatico - c# comentarios documentacion



El parámetro dinámico hace que el compilador piense que el retorno del método es dinámico (1)

Si tengo un parámetro dinámico, el compilador parece abandonar el tipo de devolución y pensar que es dinámico.

Por ejemplo:

public MethodResult IsValid(object userLogin) { return new MethodResult(); }

Podrías pensar que:

var isValidResult = IsValid(someObject());

Debería leer como

dynamic -> MethodResult

Pero cree que es:

dynamic -> dynamic

¿Agregar un parámetro dinámico a la firma detiene completamente al compilador de saber cuál debería ser la devolución a pesar de que la declaración se tipeó fuertemente?


Sí, la dinámica impide que el compilador conozca el tipo de parámetros, propiedades o tipos de retorno de método. Agregue un lanzamiento explícito como:

(MethodResult)IsValid(someObject));

La razón aquí es que una vez que ingresas al mundo dinámico en C # vas a entrar en el enlace tardío. El compilador no puede verificar este código porque ya no puede usar ningún análisis de tipo estático. Entonces difiere hasta más tarde. Puede ayudar a superar esto proporcionando conversiones estáticas como una guía para el compilador.