viernes, 20 de noviembre de 2009

C#, Inicializadores de Objeto y de Colección

Los inicializadores de objeto permiten asignar valores a los campos o propiedades de un objeto en el momento de la creación sin tener que invocar explícitamente un constructor.

C# 3.0, Nueva Característica

Esta característica fue incorporada a partir de la versión C# 3.0 y sigue el camino de la simplificación de código, al igual que otras características que iré comentando en sucesivos artículos. Pero en fin, veamos un ejemplo que nos deje el concepto del todo claro:

namespace Pruebas
{
    class Program
    {
        static void Main(string[] args)
        {
            // Inicializador de Objeto
            Contacto objContacto =
                new Contacto { IdContacto=1, Nombre="Pedro", Telefono = "601 01 01 01" };
           
            //Inicializador de Colección
            List<Contacto> lstContactos = new List<Contacto>
            {
                new Contacto { IdContacto=1, Nombre="Pedro", Telefono="601 01 01 01" },
                new Contacto { IdContacto=2, Nombre="Maria", Telefono="601 01 01 02" },
                new Contacto { IdContacto=3, Nombre="Juana", Telefono="601 01 01 03" }
            };
        }
    }
 
    public class Contacto
    {
        public int IdContacto {get; set;}
        public string Nombre { get; set; }
        public string Telefono { get; set; }
    }
}

Y así de simple es crearnos un objeto o una colección de objetos e inicializarlos en la misma línea.

Nota: En el ejemplo, hemos usado la clase Contacto y en ella hemos usado otra nueva característica de C# 3.0, se trata de las propiedades auto implementadas. Para obtener más información, consulte Propiedades auto implementadas.

Artículos Relacionados:

No hay comentarios:

Publicar un comentario