Propriedades autoimplementadas (Guia de Programação em C#)

No C# 3.0 e posterior, implementado por auto propriedades fazem declaração de propriedade mais concisa quando nenhuma lógica adicional é necessária nos acessadores de propriedade. Elas também permitem criar objetos de código do cliente. Quando você declara uma propriedade, conforme mostrado no exemplo a seguir, o compilador cria um campo de apoio particular e anônimo que só pode ser acessado através da propriedade get e set acessadores.

Exemplo

O exemplo a seguir mostra uma classe simples que tem algumas propriedades de auto-implementada:

// This class is mutable. Its data can be modified from 
// outside the class. 
class Customer
{
    // Auto-Impl Properties for trivial get and set 
    public double TotalPurchases { get; set; }
    public string Name { get; set; }
    public int CustomerID { get; set; }

    // Constructor 
    public Customer(double purchases, string name, int ID)
    {
        TotalPurchases = purchases;
        Name = name;
        CustomerID = ID;
    }
    // Methods 
    public string GetContactInfo() {return "ContactInfo";}
    public string GetTransactionHistory() {return "History";}

    // .. Additional methods, events, etc.
}

class Program
{
    static void Main()
    {
        // Intialize a new object.
        Customer cust1 = new Customer ( 4987.63, "Northwind",90108 );

        //Modify a property
        cust1.TotalPurchases += 499.99;
    }
}

A classe que é mostrada no exemplo anterior é mutável. Código do cliente pode alterar os valores em objetos depois que forem criados. Em classes complexas que contêm o comportamento significativo (métodos), bem como dados, geralmente é necessário ter propriedades públicas. No entanto, para pequenas classes ou estruturas que basta encapsulam um conjunto de valores (dados) e têm pouca ou nenhuma comportamentos, é recomendável para tornar os objetos imutáveis, declarando o acessador set como particular. Para obter mais informações, consulte Como implementar uma classe leve com propriedades autoimplementadas (Guia de Programação em C#).

Atributos são permitidos nas propriedades de auto-implementado, mas é claro que não nos campos de apoio, pois esses não acessíveis a partir de seu código-fonte. Se você precisar usar um atributo sobre o campo de apoio de uma propriedade, basta crie uma propriedade regular.

Consulte também

Referência

Propriedades (Guia de Programação em C#)

Modificadores (Referência de C#)