Properties'in yazımı C# 2.0 ' da çok can sıkıcı bir işlem. İlk önce private bir değişken tanımlıyoruz , daha sonra set ve(ya) get şeklinde karar vereceğimiz property'i uzun uzun yazıyoruz. Bütün property'ler de birbirine benzer ve çok yer kaplamasın diye #region içine alınırdı. C# 3.0 ile bu iş çok kolaylaştı. C# 2.0 ile sadece bir değişken için basit bir set,get için 12 satır yazmamız gerekirken , C# 3.0 ile aynı işi 5 satır ile gerçekleştirebiliriz. Her iki property kullanınımı , iki farklı değişken üzerinde aşağıda görebilirsiniz.
class AutomaticPropertyKullanimi
{
/* C# 2.0 Property Kullanımı */
private int sayi1;
public int Sayi1
{
get
{
return sayi1;
}
set
{
sayi1 = value;
}
}
/* C# 3.0 Automatic Property Kulanımı */
public int Sayi2
{
get;
set;
}
}
En başta biraz tuhaf gelebilir. Çünkü C# 3.0 daki property'nin hangi değişkenin değerini değiştirecek veya dışarı döndürecek , nerede kaydedilecek bir soru işareti olarak gözükebilir. Yukarıdaki class'ı MSIL Disassembler (ildasm.exe) ile inceleyelim.

Gördüğünüz gibi Sayi2'nin (C# 3.0 automatic property'si olarak kullanılan değişken) CLR (Common Language Runtime) tarafından private bir değişkeni ekstradan yaratıldı. Sayi2 property'si artık o değişkeni kullanıyor , diğer herşey aynı. Fakat get veya set içinde farklı işlemler yapmak isterseniz eski C# 2.0 daki yöntemi kullanmanız gerekiyor. Ama çoğu zaman bu işlemi daha farklı şekillerde yapabileceğimiz için C# 3.0 da gelen Automatic Property yöntemi çok daha pratik.
Bu C# 3.0 ' da gelen propery için daha hızlı kod yazmanızı sağlayan code snippet ise prop yazdıktan sonra iki kez tab tuşuna basarak bu kodun"public int MyProperty { get; set; } " çıkmasını sağlayabilirsiniz.