Programar con Visual Basic y con Visual C# en las soluciones de Office

Puede crear soluciones de Office con Visual Basic o con Visual C#. Como los modelos de objetos de Microsoft Office se diseñaron para usarlos con Microsoft Visual Basic para Aplicaciones (VBA), los desarrolladores de Visual Basic pueden trabajar cómodamente con los objetos expuestos por las aplicaciones de Microsoft Office. En Visual Studio 2010, los desarrolladores de Visual C# pueden usar prácticamente las mismas características que los desarrolladores de Visual Basic, pero hay algunos casos en los que deben escribir código adicional para usar los modelos de objetos de Office. Hay también algunas diferencias entre las características de programación básicas en el desarrollo de Office y el código administrado cuando se escribe en Visual Basic y C#.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Microsoft Office 2010 y 2007 Microsoft Office System. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Diferencias principales entre Visual Basic y Visual C#

En la siguiente tabla se muestran las diferencias principales entre Visual Basic y Visual C# para el desarrollo de Office.

Característica

Descripción

Compatibilidad con Visual Basic

Compatibilidad con Visual C#

Parámetros opcionales

Muchos métodos de Microsoft Office tienen parámetros que no se requieren al llamar al método. Si no se pasa ningún valor para el parámetro, se utiliza un valor predeterminado.

Visual Basic admite parámetros opcionales.

Visual C# admite parámetros opcionales en la mayoría de los casos. Para obtener más información, vea Parámetros opcionales en las soluciones de Office.

Pasar parámetros por referencia

Los parámetros opcionales de la mayoría de los ensamblados de interoperabilidad primarios de Microsoft Office se pueden pasar por valor. Sin embargo, en algunos ensamblados de interoperabilidad primarios, los parámetros opcionales que aceptan tipos de referencia se deben pasar por referencia.

Para obtener más información sobre los parámetros de tipo de valor y de tipo de referencia, vea Pasar argumentos por valor y por referencia (Visual Basic) (para Visual Basic) y Pasar parámetros (Guía de programación de C#).

No se necesita trabajo adicional para pasar parámetros por referencia. El compilador de Visual Basic pasa automáticamente los parámetros por referencia cuando resulta necesario.

En la mayoría de los casos, el compilador de Visual C# pasa automáticamente los parámetros por referencia cuando resulta necesario. Para obtener más información, vea Parámetros opcionales en las soluciones de Office.

Propiedades parametrizadas

Algunas propiedades aceptan parámetros y actúan como funciones de sólo lectura.

Visual Basic admite propiedades que aceptan parámetros.

Visual C# admite propiedades que aceptan parámetros.

Enlace en tiempo de ejecución

El enlace en tiempo de ejecución implica la determinación de las propiedades de los objetos en tiempo de ejecución, en lugar de convertir variables en el tipo de objeto en tiempo de diseño.

Visual Basic realiza el enlace en tiempo de ejecución cuando Option Strict está desactivada. Cuando Option Strict está activada, se deben convertir los objetos explícitamente y usar los tipos del espacio de nombres System.Reflection para tener acceso a los miembros enlazados en tiempo de ejecución. Para obtener más información, vea Enlace en tiempo de ejecución en las soluciones de Office.

Visual C# realiza el enlace en tiempo de ejecución en los proyectos destinados a .NET Framework 4. En los proyectos destinados a .NET Framework 3.5, se deben convertir los objetos explícitamente y usar los tipos del espacio de nombres System.Reflection para tener acceso a los miembros enlazados en tiempo de ejecución. Para obtener más información, vea Enlace en tiempo de ejecución en las soluciones de Office.

Diferencias fundamentales entre el desarrollo de Office y el código administrado

En la tabla siguiente se muestran las diferencias principales entre el desarrollo de Office y el código administrado cuando se escribe en Visual Basic o Visual C#.

Característica

Descripción

Compatibilidad con Visual Basic y Visual C#

Índices de matriz

Los límites inferiores de las matrices de colecciones en las aplicaciones de Microsoft Office empiezan por 1. Visual Basic y Visual C# usan matrices basadas en 0. Para obtener más información, vea Matrices (Guía de programación de C#) y Matrices en Visual Basic.

Para obtener acceso al primer elemento de una colección en el modelo de objetos de una aplicación de Microsoft Office, utilice el índice 1 en lugar de 0.

Vea también

Tareas

Cómo: Apuntar a las aplicaciones de Office mediante los ensamblados de interoperabilidad primarios

Enlace en tiempo de ejecución en las soluciones de Office

Referencia

Reflexión (C# y Visual Basic)

Conceptos

Escribir código en soluciones de Office

Parámetros opcionales en las soluciones de Office