Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Só é possível utilizar a interoperabilidade COM com a aplicação em execução?

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á!