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

February 18, 2014 - Posted by | C# | , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s