Lilypie Primer PicLilypie Primer Ticker

viernes, 9 de noviembre de 2007

Innovaciones del .NET Framework 3: Propiedades implementadas automáticamente

Otra innovación del .NET Framework 3 es la posibilidad de implementar automáticamente las propiedades, reduciendo la cantidad de código que debemos escribir.

En muchos casos implementamos propiedades triviales asi:

private string telefono;

public string Telefono
{
get { return telefono; }
set { telefono = value; }
}

En este caso get y set tienen implementaciones triviales, ya que get simplemente devuelve el valor de telefono y set asigna el valor recibido en value al campo telefono. Antes estábamos obligados a 1) declarar un campo privado telefono, 2) implementar get y set a mano.

Ahora, el .NET Framework 3 nos ahorra todo ese trabajo, ya que podemos reemplazar todo el código anterior por:

public string Telefono { get; set;}

Ya no tenemos la necesidad de declarar un campo privado ni de implementar get y set.

También tenemos la posibilidad de utilizar modificadores como private para get y set, asi:

public string Telefono { get; private set;}

Asi logramos tener una propiedad de solo lectura.

Esta sencilla innovación nos evita mucho del trabajo repetitivo, y nos permite concentrarnos en la implementación de aquellas propiedades que sí requieren procedimientos más complejos. Una característica muy bienvenida.


2 comentarios:

Aldo dijo...

Hola que tal, oie pero que pasa con las propiedades que si requieren mas codigo por, quedaria asi por ejemplo?

public int Presupuesto{set; get{return Presupuesto/2;} }

o seguiria funcionando igual que en framework 2.0?

J. Marcos Troncoso dijo...

Hola Aldo, gracias por la visita y el comentario.

Pues sí, estás en lo correcto. Las propiedades implementadas automáticamente nos liberan del tedio de implementar las propiedades que son triviales. Es decir de aquellas que solo sirven como medios de acceder a los campos privados.

Las propiedades que realizan tareas más complejas como validaciones o cálculos deben ser implementadas exactamente como sucedía en la versión 2.0.

Saludos