Pregunta

En su charla PDC, Anders dijo que la palabra clave dinámica despacharía cualquier llamada de función que se le hiciera en tiempo de ejecución.

Luego continuó diciendo que la "dinámica" la palabra clave se tipea estáticamente marcada durante el tiempo de compilación.

Ahora, si fuera a invocar un método que no existe en una " dinámica " tipo: ¿no resultaría esto en un error de tiempo de ejecución?

¿Es correcto llamar al lenguaje C # 4.0 un lenguaje de comprobación de tipo estático?

¿O es que simplemente no entiendo de qué estaba hablando Andrés en esta presentación?

¿Fue útil?

Solución

C # todavía tiene comprobación de tipo estático, pero es un poco extraño decir que el tipo estático de una referencia es "dinámico". IIRC, el tipo real para dinámico es objeto, con un indicador IL especial para indicar que se resuelve dinámicamente. Por supuesto, si el tipo real no admite la operación dada, se produce una excepción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top