Partilhar via


Auto-implementado propriedades (guia de programação do 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 simplificada com propriedades de Auto-implementado (guia de programação do 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 do C#)

Modificadores (referência de C#)