Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] OBJETOS DYNAMIC - Certificação C# Programming parte 1 / Aula 03

Por favor pessoALL,

No curso:

  • Na AULA 03 - Curso de Certificação C# Programming parte 1: Criar tipos

Não entendi a resposta CORRETA para o objeto "DYNAMIC":

  • "O tipo dynamic existe somente em tempo de compilação e não em tempo de execução."

Ué? nas o compilador NÃO pega erros em design-time somente pega os erros em run-time... ???

Agradeço a explicação,

[]'s,

Fabio I.

1 resposta
solução!

Olá Fabio

Entendo sua dúvida em relação ao uso do tipo dynamic em C#. De fato, a resposta que você mencionou pode parecer contraditória, mas vou tentar explicar de uma maneira mais clara.

O tipo dynamic em C# permite que você escreva código que não é verificado em tempo de compilação, mas sim em tempo de execução. Isso significa que o compilador não verifica se os métodos e propriedades chamados em um objeto dynamic existem ou são válidos. No entanto, se houver algum erro, ele será capturado em tempo de execução.

Em outras palavras, o compilador não verifica a existência de métodos e propriedades em tempo de compilação, mas isso não significa que ele não pega erros em design-time. Erros de sintaxe e outros erros que podem ser detectados em tempo de compilação ainda serão capturados.

Por exemplo, considere o seguinte código:

dynamic obj = "Olá";
Console.WriteLine(obj.Length);

Nesse caso, o compilador não verifica se a propriedade Length existe na string "Olá". No entanto, quando o código é executado, um erro será lançado, pois a propriedade Length não existe em uma string.

Espero que isso tenha esclarecido sua dúvida. Se ainda tiver alguma pergunta, fique à vontade para perguntar.

Espero ter ajudado e bons estudos!