Tenho ouvido muitas pessoas falarem das tais propriedades automáticas do .Net 3.0 ou Superior.
Resolvi dar uma olhada e ver o que eleas fazem. Para tanto, eis uma classe de exemplo:
public class Usuario
{
public string Nome { get; set; }
public int Idade { get; set; }
private string _Sexo;
private string Sexo
{
get
{
return this._Sexo;
}
set
{
this._Sexo = value;
}
}
}
Temos 2 propriedades automática (Nome e Idade) e uma propriedade que foi feita do jeito antigo (Sexo).
A primeira vista as propriedades automáticas precisam de menos código para serem feitas o que já garante uma melhor produtividade, mas, por outro lado há uma perda de controle e flexibilidade.
Vamos pensar assim: Se você precisar realizar alguma ação no GET ou SET da propriedade, então não poderá utilizar uma propriedade automática, pois o .Net é que irá gerar o código para você.
Vamos ver por dentro da classe compilada:
public class Usuario
{
// Fields
private string _Sexo;
[CompilerGenerated]
private int <Idade>k__BackingField;
[CompilerGenerated]
private string <Nome>k__BackingField;
// Properties
public int Idade
{
[CompilerGenerated]
get
{
return this.<Idade>k__BackingField;
}
[CompilerGenerated]
set
{
this.<Idade>k__BackingField = value;
}
}
public string Nome
{
[CompilerGenerated]
get
{
return this.<Nome>k__BackingField;
}
[CompilerGenerated]
set
{
this.<Nome>k__BackingField = value;
}
}
private string Sexo
{
get
{
return this._Sexo;
}
set
{
this._Sexo = value;
}
}
}
Podemos observar claramente o que o compilador do .Net fez por nós, ou seja, gerou os campos (Fields) das propriedades e gerou automáticamente o GET e SET.
Então podemos concluir que existe sim o ganho de produtividade neste processo, mas, nem sempre poderemos utilizar.
Então meu conselho é: Use com Moderação………
Posts Relacionados:



3 Respostas to “Por Dentro das Propriedades Automáticas”
Raphael
1 year ago
Parabéns pelo post, muito bem colocado!
Fernando
11 months ago
Inútil!! :S
Marcelo
4 months ago
Com certeza é ÚTIL!!!