C# 3.0 ile birlikte gelen yeniliklerden, otomatik özellikler ile artık kolay ve hızlı bir biçimde standart özellikler (property) tanımlayabiliyoruz.

Örneğin;

class Person
{
   public int No { get; set; }
   public string Ad { get; set; }
   public FizikselOzellik Ozellik { get; set; }
}

class FizikselOzellik
{
   public int Kilo { get; set; }
   public int Boy { get; set; }
   public string Cinsiyet { get; set; }
}

gibi. Aslında IL kodlarını incelersek, derleyicinin C# 2.0 daki gibi (arka planda bir field oluşturup, get ve set erişimcilerini otomatik kendisi yazıyor) özellik tanımladığını görebiliriz. Yeni gelen diğer bir özellik ise Nesneye Ilk Değerini verme ile ilgili. Aşağıdaki sentaks ile artık nesneleri oluştururken özelliklerine de ilk değerlerini vererek nesneyi oluşturabiliriz.


Person nesnemiz içerisinde özellik olarak FizikselOzellik isimli başka bir nesne içeriyor. Bu durumda da aşağıdaki sentaks ile Person nesnemize ilk değerini verebiliriz.,

Person p = new Person {
               
Ad="oguz",No=169,
               Ozellik = new FizikselOzellik{Kilo=120,Boy=173,Cinsiyet="E"}
};

Görüldüğü gibi C# 3.0 ile gelen yenilikleri dili kullanmayı daha hızlı, zevkli ve kolay bir hale getiriyor ;)