Udostępnij za pośrednictwem


Właściwości zaimplementowane automatycznie (Przewodnik programowania w języku C#)

W C# 3.0 lub nowszej, realizowane automatycznie właściwości sprawiają, że deklaracji właściwości bardziej zwarta, gdy w akcesorach właściwości jest wymagane nie dodatkowe logiki.Umożliwiają one kod klienta do tworzenia obiektów.Przy deklarowaniu właściwości, jak pokazano w poniższym przykładzie, kompilator tworzy pole oporowe prywatnych, anonimowe jest możliwy tylko za pośrednictwem właściwości get i set akcesorów.

Przykład

W poniższym przykładzie przedstawiono prostą klasę, zawierający niektóre właściwości wykonywane automatycznie:

// 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;
    }
}

Klasa, która jest wyświetlana w poprzednim przykładzie jest mutable.Kod klienta można zmienić wartości w obiektach, po ich utworzeniu.W złożonych klas, które zawierają znaczące zachowanie (metody), jak również dane jest często konieczne właściwości publiczne.Jednakże dla małych klas lub struktur, po prostu hermetyzacji zestawu wartości (dane) i zostały niewielkiej lub żadnej zachowania, zalecane jest dokonanie obiekty niezmienne przez zadeklarowanie akcesor zestawu jako prywatnego.Aby uzyskać więcej informacji, zobacz Porady: implementowanie klasy lekkiej przy użyciu automatycznie implementowanych właściwości (Przewodnik programowania w języku C#).

Atrybuty są dozwolone właściwości auto wdrożone, ale oczywiście nie na polach wykonywania kopii, ponieważ te nie są dostępne z kodu źródłowego.Jeśli w polu oporowe właściwość, należy użyć atrybutu, wystarczy utworzyć właściwość regularnych.

Zobacz też

Informacje

Właściwości (Przewodnik programowania w języku C#)

Modyfikatory (odwołanie w C#)