No caso da sobrecarga, o compilador entende que o dynamic em tempo de execução é object ? Esse tipo de erro não teria que acontecer em tempo de execução ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
No caso da sobrecarga, o compilador entende que o dynamic em tempo de execução é object ? Esse tipo de erro não teria que acontecer em tempo de execução ?
Oi Paulo, tudo bem?
Esse erro de compilação ocorre porque o compilador precisa "resolver", isto é, decidir qual método será chamado posteriormente. Esse processo é chamado de "binding", onde a chamada é endereçada a um ponteiro de método. Se você tiver dois métodos idênticos, sendo um com parâmetros dynamic e outro com parâmetros object, o compilador não consegue endereçar a chamada a um método específico, pois ambos são equivalentes. Então você precisa resolver essa ambiguidade antes de compilar.