This article is currently in the process of being translated into Spanish (~99% done).
Automatic properties
Un verdadero dolor para todos los programadores escribiendo código orientado a objetos ha sido siempre el declarar propiedades públicas para los campos privados. Esto es un montón de trabajo tedioso, especialmente por que casi todas las propiedades serán un mapeo simple de get y set a los campos privados, sin ninguna pericia adicional, como esto:
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
Con una propiedad simple como ésta, podriamos haber declarado simplemente también el campo como público y usarlo directamente, en vez de agregar la capa extra de una propiedad. Sin embargo, las guías de programación orientada a objetos nos indican no usar esta forma, y casi todos nosotros resistimos la tentación de hacerlo de la manera fácil. ¡Con C# 3.0 no tenemos que lidiar con este dilema nunca más! El ejemplo de arriba ahora puede ser escrito como esto:
public string Name
{
get;
set;
}
O usando incluso menos espacio, así:
public string Name { get; set; }
Sin declaración de campo, y sin codificar el valor del campo en el get y set. Todo esto es manejado automáticamente por el compilador, el cual creará automáticamente un campo privado y llenará clos métodos get y set con el código básico requerido para leer y escribir el campo. Desde afuera, esto se verá como una propiedad regular, pero usted se ahorró muchas tecladas extra y su clase será menos inflada. Por supuesto, aún puede usar la forma antigüa, como se muestra en nuestro primer ejemplo - esto es simplemente una característica extra que puede usar, si le agrada.