A partira da versão 3.0 a linguagem C# introduziu as propriedades automáticas. Uma propriedade é constituída basicamente de variável privada, que é exposta ao mundo exterior através de getters e setters. O exemplo a seguir mostra isso:
public class Pessoa { private string _nome; public string Nome { get { return _nome; } set { _nome = value; } } private string _email; public string Email { get { return _email; } set { _email = value; } } } |
Usando as propriedades automáticas podemos reduzir o código acima para:
public class Pessoa { public string Nome { get; set; } public string Email { get; set; } } |
O compilador C # gera automaticamente uma variável de apoio e as propriedades corretas get e set.
E daí ??
E daí que definindo a variável como uma propriedade vai permitir a você adicionar a lógica de validação para sua classe, numa fase posterior. Como assinatura na memória da classe não vai mudar o que significa que quaisquer bibliotecas externas compiladas com o seu código não terão que ser recompiladas.