Olá pessoal, Falaremos hoje sobre C# Properties.
Uma propriedade (Property) é um membro de uma classe que fornece um mecanismo flexível para ler, gravar ou calcular o valor de um dado em particular.
As propriedades permitem que uma classe exponha de uma maneira pública a obtenção e definição destes valores.
Por ex. Temos a classe Carro, uma propriedade de carro é sua cor, ou seja, Cor é um atributo (propriedade) de Carro.
Uma propriedade pode obter um valor de uma classe e também pode defini-lo, sendo assim temos propriedades Read/Write ou apenas Readonly.
Um exemplo:
// Essa é sua variável interna (privada) private string _cor; // Essa é sua propriedade pública. public string Cor { get { return _cor; } set { _cor = value; } }
Notaram que ao ler o valor (get) a propriedade retorna o valor da variável interna e ao gravar (set) a variável interna é alterada para um novo valor.
// Fazendo Get string CorCarro = Carro.Cor; // Fazendo Set Carro.Cor = "Preto";
E se a propriedade for Readonly?
// Essa é sua variável interna (privada) private string _cor; // Essa é sua propriedade pública. public string Cor { get { return _cor; } }
Viram? Internamente não implementa o recurso do Set, ou seja, apenas podemos ler o estado, sem alterá-lo.
Agora que já está entendido, mais novidade:
Desde o C# 3.0 (Já estamos no 5.0) foi incluído o recurso de Automatic Properties (Propriedades Automáticas), ou seja, não necessitamos mais declarar o Get nem o Set, aquela variável interna de controle também não (é gerenciado automático).
Então como fica?
// Essa é sua propriedade Read/Write. public string Cor { get; set; } // Essa é sua propriedade Readonly. public string Cor { get; }
Menos código, mais agilidade
Tem mais uma novidade, através do Visual Studio (2008 ou superior) podemos escrever rapidamente muitas propriedades utilizando o atalho “prop”
É muito simples, Apenas digite prop e dê Tab duas vezes.