Na Aula 5 o exemplo dado é utilizando um objeto do tipo dynamic. Mas caso eu não queira utilizar dynamic, a opção seria utilizar uma biblioteca externa?
Na Aula 5 o exemplo dado é utilizando um objeto do tipo dynamic. Mas caso eu não queira utilizar dynamic, a opção seria utilizar uma biblioteca externa?
Olá, Raphael
Sem o dynamic, você teria que usar cast para fazer unboxing em diversos objetos, e utilizar os tipos explícitos. Por exemplo, com dynamic, temos a sintaxe:
workSheet.Columns[1].AutoFit();
workSheet.Columns[2].AutoFit();
Antes da versão C# 4.0, onde foi introduzido o dynamic
, tínhamos que usar o cast para o tipo correto:
((Excel.Range)workSheet.Columns[1]).AutoFit();
((Excel.Range)workSheet.Columns[2]).AutoFit();
Além disso, em vez de ignorar os parâmetros default dos métodos, você precisaria passar os argumentos como Type.Missing
:
excelApp.get_Range("A1", "B4").AutoFormat(Excel.XlRangeAutoFormat.xlRangeAutoFormatTable3,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing);
Já a partir da introdução do dynamic
, a mesma chamada pode ser feita ignorando os argumentos default:
workSheet.Range["A1", "B4"].AutoFormat(Format: Excel.XlRangeAutoFormat.xlRangeAutoFormatTable3);
Para mais informações:
Entendi, o dynamic ajuda bastante.