Esta documentación está archivada y no tiene mantenimiento.

Lo nuevo en el lenguaje y el compilador de C# 2.0

Visual Studio 2005

Con el lanzamiento de Visual Studio 2005, el lenguaje C# se ha actualizado a la versión 2.0, que admite las siguientes características nuevas:

Genéricos

Los tipos genéricos se agregan al lenguaje para permitir a los programadores alcanzar un alto nivel de reutilización del código y rendimiento mejorado para las clases de colección. Los tipos genéricos sólo pueden diferenciarse en la aridad. También es posible forzar los parámetros para que sean tipos específicos. Para obtener más información, vea Parámetros de tipo genérico.

Iteradores

Los iteradores permiten disponer cómo un bucle foreach recorrerá en iteración el contenido de una colección.

Clases parciales

Las definiciones de tipo parcial permiten que un tipo único, como una clase, se divida en varios archivos. El diseñador de Visual Studio utiliza esta característica para separar el código generado del código de usuario.

Tipos que aceptan valores NULL

Los tipos que aceptan valores NULL permiten que una variable contenga un valor indefinido. Los tipos que aceptan valores NULL son útiles cuando se trabaja con bases de datos y otras estructuras de datos que pueden contener elementos que no tienen ningún valor específico.

Métodos anónimos

Ahora es posible pasar un bloque de código como parámetro. Siempre que se espere un delegado, se puede utilizar un bloque de código en su lugar: no hay necesidad de definir un nuevo método.

Calificador de alias de espacio de nombres

El calificador de alias de espacio de nombres (::) proporciona más control sobre cómo tener acceso a los miembros de espacio de nombres. El alias global :: permite tener acceso al espacio de nombres de raíz que puede ser ocultado por una entidad en el código.

Clases estáticas

Las clases estáticas son una manera segura y conveniente de declarar una clase que contiene métodos estáticos de los que no se pueden crear instancias. En la versión 1.2 de C#, se habría definido el constructor de clase como privado para evitar que se crearan instancias de la clase.

Alias del ensamblado externo

Haga referencia a las diferentes versiones del mismo componente contenidas en el mismo ensamblado con este uso expandido de la palabra clave extern.

Accesibilidad del descriptor de acceso de propiedades

Ahora es posible definir niveles diferentes de accesibilidad para los descriptores de acceso get y set en propiedades.

Covarianza y contravarianza en delegados

El método pasado a un delegado ahora puede tener mayor flexibilidad en cuanto al tipo de valor devuelto y los parámetros.

Cómo: Declarar un delegado, crear instancias del mismo y utilizarlo

La conversión de grupo de métodos proporciona una sintaxis simplificada para declarar los delegados.

Búferes de tamaño fijo

En un bloque de código no seguro, ahora es posible declarar estructuras de tamaño fijo con matrices incrustadas.

Ensamblados de confianza

Los ensamblados pueden proporcionar acceso a tipos no públicos en otros ensamblados.

Control de alertas en el código

La directiva de advertencia #pragma se puede utilizar para deshabilitar y habilitar ciertas advertencias del compilador.

volatile

La palabra clave volatile ahora se puede aplicar IntPtr y UIntPtr.

En esta versión, el compilador de C# presenta los siguientes cambios y adiciones:

Opción /errorreport

Se puede utilizar para indicar a Microsoft errores internos del compilador a través de Internet.

Opción /incremental

Se ha quitado.

Opciones /keycontainer y /keyfile

Compatibilidad que especifica claves criptográficas.

Opción /langversion

Se puede utilizar para especificar la compatibilidad con una versión concreta del lenguaje.

Opción /linkresource

Contiene opciones adicionales.

Opción /moduleassemblyname

Permite generar un archivo .netmodule y obtener acceso a tipos no públicos en un ensamblado existente.

Opción /pdb

Especifica el nombre y ubicación del archivo .pdb.

Opción /platform

Permite seleccionar como destino arquitecturas de la familia Itanium (IPF) y x64.

#pragma warning

Se utiliza para deshabilitar y habilitar advertencias individuales en el código.

Vea también

Mostrar: