jueves, 30 de octubre de 2008

Métodos opcionales en las propiedades

Los métodos opcionales para proveer mayor funcionalidad a las propiedades son ShouldSerialize y Reset.
La principal funcionalidad que obtendremos al implementar el método Reset es que aparecerá una indicación visual en el explorador de propiedades con la posibilidad de restablecer el valor predeterminado para la misma. El mismo resultado se consigue con la utilización del atributo DefaultValue como marcador de la propiedad pero su uso está restringido a tipos de datos simples.
Con el método ShouldSerialize obtendremos una serialización de la propiedad condicionada a la expresión que evaluemos en el cuerpo del mismo. Este método será invocado por el runtime durante la serialización de la clase.
Veamos un ejemplo de estos dos métodos:

.....

private Negocio tiendaMuebles = null;

public Negocio TiendaMuebles
{
get { return this.tiendaMuebles; }
set { this.tiendaMuebles = value; }
}

public bool ShouldSerializeTiendaMuebles()
{
return this.tiendaMuebles != null;
}

public void ResetTiendaMuebles()
{
this.tiendaMuebles = null;
}

....

Un saludo.