Estoy tratando de entender cuando se produce la unión temprana/tardía en C#.Encuadernación temprana y tardía
Los métodos no virtuales siempre se enlazan temprano. Los métodos virtuales siempre están vinculados de forma tardía: el compilador inserta un código adicional para resolver el método real al que se vincula en el momento de la ejecución y comprueba la seguridad del tipo. Entonces, el polimorfismo de subtipo usa unión tardía.
Los métodos de llamada que utilizan la reflexión son un ejemplo de enlace tardío. Escribimos el código para lograr esto a diferencia del compilador. (Por ejemplo, llamar a componentes COM)
VB.NET admite el enlace implícito tardío cuando Option Strict está desactivado. Un objeto se enlaza tarde cuando se asigna a una variable declarada de tipo Objeto. El compilador de VB inserta el código para enlazar al método correcto en el momento de la ejecución y atrapar las llamadas no válidas. C# no es compatible con esta característica.
¿Estoy yendo en la dirección correcta?
¿Qué hay de llamar a los delegados y llamar a un método a través de una referencia de interfaz? ¿Es eso vinculante temprano o tardío?
Creo que quisiste decir "El lenguaje VB en sí no enlaza tarde ..." –
En realidad, no uso VB ... así que no sé mucho sobre eso. Me refiero a C#, pero parece que solo me estaba repitiendo. Me imagino que estás en lo correcto, ¡así que lo arreglaré! –
Con la palabra clave dinámica, la vinculación tardía estará disponible en C# 4. – configurator