Nota: Isso foi publicado quando eu estava iniciando o C #. Com o conhecimento de 2014, posso realmente dizer que as propriedades automáticas estão entre as melhores coisas que já aconteceram na linguagem C #.
Estou acostumado a criar minhas propriedades em C # usando um campo privado e público:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
Agora, com o .NET 3.0, obtivemos propriedades automáticas:
public string Title { get; set; }
Eu sei que isso é mais uma questão filosófica / subjetiva, mas há alguma razão para usar essas propriedades automáticas, exceto ao salvar cinco linhas de código para cada campo? Minha queixa pessoal é que essas propriedades estão escondendo coisas de mim, e eu não sou um grande fã de magia negra.
De fato, o campo privado oculto nem aparece no depurador, o que é bom, pois as funções get / set não fazem nada. Mas quando eu quero realmente implementar alguma lógica getter / setter, tenho que usar o par privado / público de qualquer maneira.
Vejo o benefício de salvar muito código (um vs seis linhas) sem perder a capacidade de alterar a lógica do getter / setter posteriormente, mas, novamente, já posso fazer isso simplesmente declarando um campo público "Public string Title" sem a necessidade do {get; conjunto; }, economizando ainda mais código.
Então, o que estou perdendo aqui? Por que alguém realmente deseja usar propriedades automáticas?