.NET 4.0 - A palavra-chave “dinâmico”
Pergunta
Em sua palestra PDC, Anders disse que a palavra-chave dinâmica iria despachar quaisquer chamadas de função feitas a ele em tempo de execução.
Ele então passou a dizer que a palavra-chave "dinâmico" é em si staticly digitadas verificado durante a compilação.
Agora, se você fosse para chamar um método que não existe em um tipo de "dynamic" -? Would'nt este resultado em um erro de tempo de execução
É correto chamar o C # 4.0 linguagem de uma linguagem de verificação tipo estático?
Ou é que eu simplesmente não entendo o que Andres estava falando nesta apresentação?
Solução
C # ainda tem a verificação de tipo estático, mas é tipo de engraçado para dizer que o tipo estático de uma referência é "dinâmico". IIRC o tipo real de dinâmica é objeto, com uma bandeira especial IL para indicar que ele é resolvido dinamicamente. É claro que se o tipo real não suporta a operação dada uma exceção é lançada.