3 Ağustos 2009 Pazartesi

C# 3.0 - Auto Implemented Property

C# 3.0 ile birlikte gelen yeniliklerden birisi olan Auto Implemented Property ile hızlıca ve kolay bir biçimde, denetim yapmayan, default bir property tanımlamak mümkün. Bir örnek verecek olursak, C# 3.0 öncesinde aşağıdaki gibi bir tanımlama yapardık:

class Oyun
{
private int _oyunID;
private string _ad;

public int OyunID
{
get { return _oyunID; }
set { _oyunID = value; }
}

public string Ad
{
get { return _ad; }
set { _ad = value; }
}
}

Gördüğünüz gibi bu örnekte private field'larımız ve onlar üzerinde get ve set işlemleri gerçekleştiren property'lerimiz var. Property'lerimiz herhangi bir denetim yapmıyorlar. Eğer bu şekilde bir ihtiyacımız var ise; C# 3.0'dan itibaren aşağıdaki yazım şeklini kullanarak, aynı işi daha kolay bir biçimde yerine getirebiliriz:

class Oyun
{
public int OyunID { get; set; }
public string Ad { get; set; }
}

Bu kullanım bir önceki örneğimiz ile birebir aynıdır. Derleyici, yazmış olduğumuz property'ler için birer backing field hazırlar ve property'lerimizin bu field'lar üzerinde get ve set işlemlerini gerçekleştirmesini sağlar. IL Kod tarafında inceleme yapıldığında iki kod bloğunun da çıktılarının benzer olduğu gözlemlenebilir.

Hiç yorum yok: