Compartilhar via


Programação com Visual Basic vs. C#

Você pode criar soluções de Ferramentas do Visual Studio para o Office usando Visual Basic ou C#.Como os modelos de objeto do Microsoft Office foram projetados para ser utilizadas com o Microsoft Visual Basic for Applications (VBA), os desenvolvedores de Visual Basic poderão trabalhar confortavelmente com os objetos expostos por aplicativos do Microsoft Office.Os desenvolvedores que usam C# não têm os mesmos atalhos quando ele trabalha com o modelo de objeto do Microsoft Office.Há também algumas diferenças entre recursos básicos de programação no desenvolvimento do Office e o código gerenciado escrito em Visual Basic e C#.

Principais diferenças entre Visual Basic e C#

A tabela a seguir mostra principais diferenças entre Visual Basic e C# no desenvolvimento do Office.

Recurso

Descrição

Suporte do Visual Basic

Suporte a C#

Parâmetros opcionais

Muitos métodos do Microsoft Office têm parâmetros que não são necessários quando você chama o método.Se nenhum valor é passado para o parâmetro, um valor de padrão é usado.

Visual Basic suporta parâmetros opcionais.

C# não oferece suporte a parâmetros opcionais.Em vez disso, você deve passar um valor para Tudo parâmetros.For more information, see Noções básicas sobre parâmetros opcionais in Office Solutions.

Passando parâmetros por referência

Parâmetros opcionais na maioria dos módulos de interoperabilidade primárias do Microsoft Office podem ser passados por valor.No entanto, em alguns assemblies de interoperabilidade primários, parâmetros opcionais que aceitam os tipos de referência devem ser passados por referência.

Para obter mais informações sobre parâmetros de tipo de valor e referência, consulte Argumento passar por valor e por referência (para o Visual Basic) e Passando parâmetros (Guia de programação C#).

Nenhum trabalho adicional é necessário para passar parâmetros por referência.O compilador do Visual Basic automaticamente passa os parâmetros por referência quando necessário.

Parâmetros opcionais que aceitam os tipos de referência em alguns assemblies de interoperabilidade primária (como o assembly de interoperabilidade primária do Word) devem ser passados usando a palavra-chave ref e você deve passar uma variável que contém o valor real.

Propriedades parametrizadas

Algumas propriedades aceitam parâmetros e atuam como funções de somente leitura.

Visual Basic suporta as propriedades que aceitam parâmetros.

C# requer usando a get e set acessadores para Configuração e recuperar valores de propriedade que aceitam parâmetros.

Ligação atrasada

Ligação atrasada envolve determinar as propriedades dos objetos em tempo de execução, em vez de variáveis de conversão para o tipo de objeto em tempo de design.

Visual Basic pode executar ligação tardia quando a instrução Option Strict é definida como Off.For more information, see Opção declaração estrito.

C# não executa a ligação tardia diretamente.No entanto, você pode usar tipos no namespace System.Reflection para determinar os membros disponíveis de um tipo especificado e executar um tipo de ligação tardia do.

Índices da matriz

Os limites de matriz inferiores do coleções aplicativos do Microsoft Office começa com 1.Visual Basic e Visual C# usam matrizes de base 0 por padrão.Para obter mais informações, consulte Matrizes (Guia de programação do C#) e Visão geral dos Arrays in Visual Basic.

Para acessar o primeiro item de uma coleção no modelo de objeto de um aplicativo do Microsoft Office, use o índice de 1 em vez de 0.

Para acessar o primeiro item de uma coleção no modelo de objeto de um aplicativo do Microsoft Office, use o índice de 1 em vez de 0.

Principais diferenças entre o desenvolvimento do Office e o código gerenciado

A tabela a seguir mostra principais diferenças entre desenvolvimento do Office e o código gerenciado escrito em Visual Basic ou C#.

Recurso

Descrição

Suporte Visual Basic e C#

Índices da matriz

Os limites de matriz inferiores do coleções aplicativos do Microsoft Office começa com 1.Visual Basic e Visual C# usam matrizes baseadas em 0.Para obter mais informações, consulte Matrizes (Guia de programação do C#) e Visão geral dos Arrays in Visual Basic.

Para acessar o primeiro item de uma coleção no modelo de objeto de um aplicativo do Microsoft Office, use o índice de 1 em vez de 0.

Consulte também

Tarefas

Como: Destino aplicativos do Office por meio de assemblies de interoperabilidade primários

Como: Conversão objetos retornados por aplicativos do Office

Conceitos

Escrevendo código in Office Solutions

Noções básicas sobre parâmetros opcionais in Office Solutions