Nota: Esto fue publicado cuando comencé C#. Con el conocimiento de 2014, puedo decir que las propiedades automotrices se encuentran entre las mejores cosas que le han pasado al lenguaje C#.C# 3.0 auto-propiedades - ¿Útil o no?
estoy acostumbrado a crear mis propiedades en C# usando un privado y un campo público:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
Ahora, con .NET 3.0, tenemos auto-propiedades:
public string Title { get; set; }
que sé esto es más una pregunta filosófica/subjetiva, pero ¿hay alguna razón para usar estas propiedades automáticas, excepto de guardar cinco líneas de código para cada campo? Mi queja personal es que esas propiedades me ocultan cosas, y no soy un gran admirador de la magia negra.
De hecho, el campo privado oculto ni siquiera aparece en el depurador, lo que está bien dado el hecho de que las funciones get/set no hacen nada. Pero cuando realmente quiero implementar alguna lógica getter/setter, tengo que usar el par privado/público de todos modos.
Veo la ventaja de que guardo una gran cantidad de código (una frente a seis líneas) sin perder la capacidad de cambiar la lógica getter/setter más tarde, pero de nuevo ya puedo hacerlo simplemente declarando un campo público "Public string Título "sin la necesidad de {get; conjunto; } bloquear, incluso guardando más código.
Entonces, ¿qué es lo que me falta aquí? ¿Por qué alguien realmente querría usar auto-propiedades?
"Mi queja personal es que esas propiedades me ocultan cosas y no soy un gran admirador de la magia negra". ¿Huh? TÚ ERES consciente de que el compilador te oculta una tonelada todo el tiempo, ¿verdad? A menos que esté escribiendo ensamblaje (o más exactamente, los 1 y 0 reales para su código), TODO lo que escribe le oculta cosas. –