Otomatik Uygulanan Özellikler (C# Programlama Kılavuzu)

Otomatik uygulanan özellikler, özellik erişimcilerinde ek mantık gerekmediyse özellik bildirimini daha kısa hale getirir. Ayrıca istemci kodunun nesneleri oluşturmasını da sağlar. Aşağıdaki örnekte gösterildiği gibi bir özellik bildirdiğinizde, derleyici yalnızca özelliğin get ve erişimcileri aracılığıyla erişilebilen özel, set anonim bir yedekleme alanı oluşturur. init erişimciler otomatik olarak uygulanan özellikler olarak da bildirilebilir.

Örnek

Aşağıdaki örnekte, bazı otomatik uygulanan özelliklere sahip basit bir sınıf gösterilmektedir:

// This class is mutable. Its data can be modified from
// outside the class.
public class Customer
{
    // Auto-implemented 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()
    {
        // Initialize a new object.
        Customer cust1 = new Customer(4987.63, "Northwind", 90108);

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

Arabirimlerde otomatik olarak uygulanan özellikleri bildiremezsiniz. Otomatik uygulanan özellikler özel bir örnek yedekleme alanı bildirir ve arabirimler örnek alanlarını bildirmeyebilir. Bir gövde tanımlamadan bir arabirimde özellik bildirmek, bu arabirimi uygulayan her tür tarafından uygulanması gereken erişimcileri olan bir özellik bildirir.

Otomatik uygulanan özellikleri alanlara benzer şekilde başlatabilirsiniz:

public string FirstName { get; set; } = "Jane";

Önceki örnekte gösterilen sınıf değiştirilebilir. İstemci kodu, oluşturulduktan sonra nesnelerdeki değerleri değiştirebilir. Önemli davranış (yöntemler) ve veriler içeren karmaşık sınıflarda genellikle genel özelliklere sahip olmak gerekir. Ancak, yalnızca bir değer kümesini (veri) kapsülleyen ve çok az davranış içeren veya hiç davranış içermeyen küçük sınıflar veya yapılar için, nesneleri sabit hale getirmek için aşağıdaki seçeneklerden birini kullanmalısınız:

  • Yalnızca bir get erişimci bildirin (oluşturucu dışında her yerde sabittir).
  • Bir get aksesuar ve bir init aksesuar (nesne yapımı dışında her yerde sabit) bildirin.
  • Erişimciyi set özel (tüketiciler için sabit) olarak bildirin.

Daha fazla bilgi için bkz . Otomatik uygulanan özelliklerle basit bir sınıf uygulama.

Ayrıca bkz.