La implementación automática de propiedades es una capacidad sencilla pero de gran utilidad que fue incorporada en el lenguaje C# en su versión 3.0.
Generalmente cuando definíamos una propiedad de C# debemos declarar una variable privada para contener los valores, así como sus métodos set y get para asignarla y recuperarla. Si no necesitamos añadir lógica, y la propiedad sólo es un envoltorio de un campo privado (algo muy común), acabamos repitiendo todo el tiempo mucho código como el mostrado a continuación:
private string _nombre;
public string Nombre
{
get
{
return _nombre;
}
set
{
_nombre = value;
}
}
Un verdadero tedio que nos obliga a perder tiempo haciendo todo el rato lo mismo. De acuerdo, en el editor de Visual Studio tenemos la macro "prop" que nos ayuda a escribirlo, pero ¿para qué hacerlo si es evidente cómo va todo el tiempo?
Eso debieron de pensar los diseñadores del lenguaje cuando le añadieron dicha capacidad para declarar propiedades como la anterior de manera rápida. Así, para definir una propiedad idéntica a la anterior sin esfuerzo, basta con escribir lo siguiente:
public string Nombre { get; set;}
¡Listo!. El compilador generará todo lo demás por nosotros escogiendo un nombre aleatorio para la variable privada (bastante feo por cierto, pero que nunca se ve, pues queda en el código IL) y dejando más claro y mucho más conciso nuestro código.