Novedades de Visual C# 2010

En esta página se muestran las características nuevas y mejoradas que están disponibles en Visual C# 2010. Las nuevas características contribuyen a mejorar la programación en Microsoft Office, aumentan la capacidad del usuario para explorar el código, proporcionan compatibilidad con el desarrollo basado en pruebas, y mucho más. Para obtener más información, vea Lo más destacado de Visual Studio 2010.

Para obtener información más detallada sobre una característica, haga clic en los vínculos de las siguientes secciones.

Lenguaje y compilador C# 4.0

Compatibilidad dinámica

Visual C# 2010 proporciona compatibilidad con el enlace en tiempo de ejecución a los tipos dinámicos ya que introduce un nuevo tipo, dynamic. Este nuevo tipo permite muchos escenarios nuevos, incluido el acceso simplificado a API de COM tales como las API de automatización de Office, a API dinámicas como las bibliotecas de IronPython, y a DOM (Document Object Model) HTML. Para obtener más información, vea Uso de tipo dinámico (Guía de programación de C#) y dynamic (Referencia de C#).

Programación en Office

El acceso a las interfaces COM, incluidas las API de automatización de Office, se ha mejorado considerablemente ya que se han agregado argumentos con nombre y opcionales, el tipo dynamic, propiedades indizadas y modificadores ref opcionales.

Para obtener más información, vea Argumentos opcionales y con nombre (Guía de programación de C#), Uso de tipo dinámico (Guía de programación de C#), Cómo: Utilizar propiedades indizadas en la programación de interoperabilidad COM (Guía de programación de C#) y Cómo: Tener acceso a objetos de interoperabilidad de Office mediante las características de Visual C# 2010 (Guía de programación de C#).

Compatibilidad con la equivalencia de tipos

Ahora se puede implementar una aplicación que contiene información de tipos incrustada en lugar de información de tipos que se importa desde un ensamblado de interoperabilidad primario (PIA). Con la información de tipos incrustada, su aplicación puede usar tipos de un ensamblado sin necesidad de establecer referencias al ensamblado del runtime o al ensamblado de interoperabilidad primario (PIA). Si se publican varias versiones del ensamblado del runtime, la aplicación que contiene la información de tipos incrustada puede funcionar con las diferentes versiones sin que sea necesario volver a compilarla. Para obtener más información, vea /link (Opciones del compilador de C#). Para obtener un ejemplo, vea Tutorial: Incrustar los tipos de los ensamblados administrados (C# y Visual Basic).

Covarianza y contravarianza

La covarianza permite usar un tipo más derivado que el especificado por el parámetro genérico, mientras que la contravarianza permite utilizar un tipo menos derivado. Esto permite la conversión implícita de las clases que implementan interfaces variantes y proporciona mayor flexibilidad a la hora de hacer coincidir las firmas de método con tipos de delegado variantes. Las nuevas palabras clave in y out del lenguaje permiten crear interfaces y delegados variantes. .NET Framework también incluye compatibilidad con la varianza para varios delegados e interfaces genéricos existentes, incluidos la interfaz IEnumerable<T> y los delegados Action<T> y Func<TResult>. Para obtener más información, vea Covarianza y contravarianza (C# y Visual Basic).

Nuevas opciones de la línea de comandos

La opción /langversion de la línea de comandos hace que el compilador acepte únicamente sintaxis que sea válida en la versión especificada de C#.

La opción del compilador /appconfig permite a una aplicación de C# especificar la ubicación de un archivo de configuración de aplicación del ensamblado al compilador.

Entorno de desarrollo integrado de Visual C#

En las secciones siguientes se describen mejoras en el entorno de desarrollo integrado (IDE) de Visual Studio.

Jerarquía de llamadas

La jerarquía de llamadas permite navegar por el código mostrando los siguientes elementos:

  • Todas las llamadas destinadas y procedentes de un método, una propiedad o un constructor seleccionados

  • Todas las implementaciones de un miembro de interfaz

  • Todos los reemplazos de un miembro virtual o abstracto

Esto permite entender mejor cómo fluye el código y evaluar los efectos de los cambios que se realizan en el código. Para obtener más información, vea Jerarquía de llamadas.

Se puede usar la característica Navegar a para buscar un símbolo o un archivo en código fuente. Puede buscar palabras clave incluidas en un símbolo mediante la notación Camel o caracteres de subrayado a fin de dividir dicho símbolo en palabras clave.

Para obtener más información, vea Cómo: Buscar objetos, definiciones y referencias (símbolos).

Resaltar referencias

Al hacer clic en un símbolo en el código fuente, todas las instancias de ese símbolo se resaltan en el documento. Para desplazarse al siguiente o anterior símbolo resaltado, puede usar CTRL+MAYÚS+FLECHA ABAJO o CTRL+MAYÚS+FLECHA ARRIBA. Para obtener más información, vea Cómo: Resaltar referencias.

Generar a partir del uso

La característica Generar a partir del uso permite usar clases y miembros antes de definirlos. Desde la ubicación actual en el código, se puede generar un código auxiliar para una clase, un constructor, un método, una propiedad, un campo o una enumeración que se desea usar pero que aún no se ha definido. De este modo, se minimizan las interrupciones en el flujo de trabajo.

La característica Generar a partir del uso admite estilos de programación como el desarrollo de pruebas en primer lugar. Para obtener más información, vea Generar a partir del uso y Tutorial: Compatibilidad del desarrollo de pruebas en primer lugar con la característica de generación a partir del uso.

Modo de sugerencia de IntelliSense

IntelliSense proporciona ahora dos alternativas para completar las instrucciones de IntelliSense: el modo de finalización y el modo de sugerencia. El modo de sugerencia se utiliza cuando las clases y los miembros se usan antes de definirlos. Para obtener más información, vea Lista de miembros.

Errores semánticos activos

La característica Semantic Errors Live se ha mejorado en Visual C# 2010. El uso de subrayado ondulado para señalar errores y advertencias cuando se escribe se ha ampliado para incluir estructuras que están fuera de los cuerpos del método, como tipos de valor devuelto, tipos de parámetro y valores predeterminado en declaraciones de método.

Aplicaciones de ejemplo

Visual C# 2010 incluye aplicaciones de ejemplo en las que se muestra el uso de las nuevas características de C# para simplificar la programación en Office, proporcionar acceso a las bibliotecas de IronPython, crear objetos dinámicos, desarrollar y usar delegados genéricos covariantes y contravariantes, etc. Para obtener información sobre los ejemplos del lenguaje Visual C# y cómo obtener acceso a los mismos, vea Aplicaciones de ejemplo de Visual C#.

Vea también

Referencia

Lo nuevo en el depurador de Visual Studio

Conceptos

Novedades de Visual Studio 2010

Novedades del Editor de Visual Studio 2010

Lo nuevo en .NET Framework 4

Novedades de ASP.NET 4 y Visual Web Developer

Lo nuevo en implementación