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.

ildasm

       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.