24 de noviembre de 2009

Tipos Anónimos

Son varias las mejores que se incluyeron en C# 3.0, y seguramente la mayor es la inclusión de LINQ pero no vamos a hablar en este momento de LINQ, si no de los Tipos anónimos (Anonymous Types).

Veamos un ejemplo de definición de tipos anónimos y después lo comentaremos:

//Tipos Anónimos
var persona = new { Nombre="María", Apellidos= "García Arias" };

En el ejemplo anterior estamos creando una variable de tipo anónimo con 2 propiedades (Nombre, Apellidos).

Los Tipos Anónimos o Anonymous Types son una característica del lenguaje de programación C# 3.0 que permite crear implícitamente campos con nombre desde el código que lo requiere. Esta es una importante característica para LINQ. Como los tipos anónimos no tiene un tipo de dato con nombre, deben ser almacenados en variables declaradas usando la palabra reservada var, que le indica al compilador que use inferencia de tipos para la variable.

Nota: Las propiedades de tipos anónimos no pueden asignarse después de inicializarse, son siempre de solo lectura, es decir algo como esto NO puede hacerse: ( persona.Nombre="María"; )

Los tipos anónimos no debe ser confundidos con los tipos dinámicos. Mientras los tipos anónimos permiten a los programadores definir campos aparentemente "sobre la marcha", estos son aun entidades estáticas. La verificación de los tipos es hecha durante la compilación, y el intento de acceso a un campo no existente causará un error de compilación. Esto da a los programadores las ventajas de los lenguajes dinámicos, con la seguridad de tipos de un lenguaje estático.

Cerremos el artículo con un ejemplo de uso de tipos anónimos en consultas LINQ:

var personas = from p in lstPersonas
               select new
               {
                  NombreCompleto = p.Nombre + " " + p.Apellidos,
                  TelefonoHogar = p.Telefono
               };

Artículos Relacionados:

No hay comentarios:

Publicar un comentario