Programação com Visual Basic vs. C# Visual em soluções do Office

Você pode criar soluções do Office usando o Visual Basic ou C# Visual. Porque os modelos de objeto Microsoft Office foram projetados para serem usados com o Microsoft Visual Basic for Applications (VBA), os desenvolvedores de Visual Basic podem trabalhar confortavelmente com os objetos expostos pelos aplicativos de Microsoft Office. Em Visual Studio 2010, os desenvolvedores de Visual C# podem usar a maioria dos mesmos recursos que os desenvolvedores de Visual Basic, mas existem alguns casos onde eles devem escrever código adicional para usar os modelos de objeto do Office. Também há algumas diferenças entre os recursos básicos de programação no desenvolvimento do Office e o código gerenciado escrito em Visual Basic e C#.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Microsoft Office 2010 e o sistema 2007 do Microsoft Office. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Principais diferenças entre Visual Basic e C# Visual

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

Feature

Description

Suporte de Visual Basic

Suporte do Visual C#

Parâmetros opcionais

Many Microsoft Office methods have parameters that are not required when you call the method. If no value is passed for the parameter, a default value is used.

Visual Basic oferece suporte a parâmetros opcionais.

Visual C# oferece suporte a parâmetros opcionais na maioria dos casos. For more information, see Parâmetros opcionais em soluções do Office.

Passando parâmetros por referência

Optional parameters in most of the Microsoft Office primary interop assemblies can be passed by value. However, in some primary interop assemblies, optional parameters that accept reference types must be passed by reference.

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

Nenhum trabalho adicional é necessário para passar parâmetros por referência. Automaticamente, o compilador Visual Basic passa os parâmetros por referência, quando necessário.

Na maioria dos casos, o compilador do Visual C# passa automaticamente os parâmetros por referência, quando necessário. For more information, see Parâmetros opcionais em soluções do Office.

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# Visual suporta as propriedades que aceitam parâmetros.

Ligação tardia

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

Visual Basic realiza a ligação tardia de quando Option Strict está desativado. Quando Option Strict está ativada, você deve explicitamente converter objetos e tipos de uso na System.Reflection o namespace para acessar membros de ligação tardia. For more information, see Ligação tardia em soluções do Office.

Visual C# executa a ligação tardia em projetos destinados a .NET Framework 4. Em projetos destinados a.NET Framework 3.5, você deve explicitamente converter objetos e tipos de uso na System.Reflection o namespace para acessar membros de ligação tardia. For more information, see Ligação tardia em soluções do Office.

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

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

Feature

Description

Suporte de Visual Basic e C# Visual

Índices de array

Limites de matriz inferiores das coleções em aplicativos de Microsoft Office começa com 1. Visual Basic e C# Visual usam conjuntos baseados em 0. For more information, see Arrays (C# Programming Guide) and Matrizes no Visual Basic.

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

Consulte também

Tarefas

Como: Aplicativos do Office de destino por meio de Assemblies de interoperabilidade primários

Ligação tardia em soluções do Office

Referência

Reflexão (C# e Visual Basic)

Conceitos

Escrevendo código em soluções do Office

Parâmetros opcionais em soluções do Office