Geral

C# 3.0 – Propriedades Automáticas

Ola Pessoal,

Vamos falar agora um pouco de C# 3.0 e alguma de suas novidades.

Agora para o C# 3.0 temos o que podemos chamar de "Propriedades Automáticas". Quando precisamos desenvolver algumas classe no formato C# 2.0, usavamos um código parecido com o abaixo:

public class Seguro
{
    private string _Tipo;
    private string _Descricao;
    private DateTime _Inicio;
    private DateTime _Termino;
    private int _VidasSeguradas;

    public string Tipo
    {
        get { return _Tipo; }
        set { _Tipo = value; }
    }
    public string Descricao
    {
        get { return _Descricao; }
        set { _Descricao = value; }
    }
    public DateTime Inicio
    {
        get { return _Inicio; }
        set { _Inicio = value; }
    }
    public DateTime Termino
    {
        get { return _Termino; }
        set { _Termino = value; }
    }
    public int VidasSeguradas
    {
        get { return _VidasSeguradas; }
        set { _VidasSeguradas = value; }
    }
}

Como podemos ver acima criavamos um série de váriáveis privadas e logo em seguida deixavamos elas expostas através de propriedades, as quais faziam o processo de "preenchimento" das váriaveis. Ai vem a pergunta… mas se a idéia é expor os valores das váriaveis da classe, porque não deixa-las para acesso direto? Simples se precisar, por exemplo, fazer algum tratamento nelas se estivermos usando variáveis não precisamos compilar novamente as informações.

No C# 3.0, podemos resolver isso de uma maneira mais curta e rápida, assim temos um código como o exposto abaixo:

public class Seguro
{
    public string Tipo { get; set; }
    public string Descricao { get; set; }
    public DateTime Inicio { get; set; }
    public DateTime Termino { get; set; }
    public int VidasSeguradas { get; set; }
}

 

Como vocês podem ver fica realmente mais fácil e simples. Mas como isso acontece, simplesmente quando o compilador encontra um get/set sem informações ele cria automáticamente váriaveis privadas para a manipulação dos valores.

 

[]’s


Bookmark and Share

Deixe uma resposta