Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

C# da object initializer kullanımı

Object initializer C# 3.0 ile birlikte hayatımıza girdi. Object initializer kullanmak hem daha okunaklı hem de daha güvenli bir kod yazma yöntemi sunuyor.

Aşağıda object initializer ve normal yollarla yaratılan 2 nesne örneği bulunmakta. Klasik yöntem kullanırsak multithread uygulamalarda nesnenin parçalı olarak yaratılma ihtimali var. Bunu engellemek için ayrıca lock koymak gerekir. Ancak object initializer ile nesneler yaratıldığında bu risk ortadan kalkar.

Bir nesnenin object initializer ile yaratılması :

StudentName student = new StudentName
{
FirstName = "Koray",
LastName = "Kırdinli",
ID = 116
};

Nesnenin klasik yöntem ile yaratılması.

StudentName _tempStudent = new StudentName();
_tempStudent.FirstName = "Koray";
_tempStudent.LastName = "Kırdinli";
_tempStudent.ID = 488;
StudentName student = _tempStudent;

Aşağıdaki linkte olayı kavramak için güzel bir örnekten faydalanılmış.
http://community.bartdesmet.net/blogs/bart/archive/2007/11/22/c-3-0-object-initializers-revisited.aspx

Şubat 18, 2014 Posted by | C# | , , | Yorum bırakın