No exemplo demonstrado no vídeo, o professor declarava variáveis do tipo dynamic
, para que um ambiente na plataforma .NET tenha acesso à recursos de um ambiente COM.
Porém, fiquei com a seguinte dúvida: esse tipo de acesso é possível somente em tempo de execução, por isso foram utilizadas as variáveis do tipo dynamic
? Ou esse tipo foi utilizado somente para a demonstração do seu uso em exemplos?
Faço essa pergunta, pois depurei a aplicação com o intuito de verificar que tipo assumiu a variável excel
. Ao depurar, a variável assumiu o tipo ApplicationClass
, pertencente ao pacote Microsoft.Office.Interop.Excel
. Porém ao tentar declarar a variável com esse tipo, o Visual Studio aponta um erro de compilação, dizendo que o namespace Office
não existe dentro do namespace Microsoft
.
Isso acontece porque esse package do Office está disponível através da interoperabilidade COM somente em tempo de execução (justificando assim, o uso do tipo dynamic
)? Caso não, qual seria o motivo do erro de compilação, sendo que em tempo de execução a aplicação roda sem apresentar nenhum erro?
Agradeço desde já!