Gereklilikler:Properties, new kavramı, reference types ve value types, contructions, object kavramı, auto implement properties gibi konuların bilinmesi konunun anlaşılması için gerekmektedir.
Bu dersimizde C# 3.0 ile gelen özelliği olan Object Initializer özelliğini inceliyeceğiz. Örnek olarak İnsan isimli classımızı ele alalım.
class
Insan
{
public
string
Adi {
get
;
set
; };
public
int
Yasi {
get
;
set
; };
}
Şimdi C# 2.0 ile Insan isimli classımızın bir örneğini oluşturup(instantiate) özelliklerine(properties) değer atamak için aşağıdaki kodu yazmamış gerekli.
Insan insan =
new
Insan();
insan.Adi=
"Fuat"
;
insan.Yasi=
"21"
;
C# 3.0 Object Initializer Syntax ile yukarıdaki kodu daha anlaşır, daha temiz ve daha kısa bir şekilde yazabiliriz.
Insan insan =
new
Insan{ Adi=
"Fuat"
, Yasi=
"21"
};
İşi biraz daha kompleks hale getirelim. Ve Insan isimli classımızı güncelliyelim ve bir class daha ekliyelim.
class
Insan
{
public
string
Adi {
get
;
set
; };
public
int
Yasi {
get
;
set
; };
public
Fizik Fiziksel {
get
;
set
; };
}
class
Fizik
{
public
int
Boy {
get
;
set
; };
public
int
Kilo {
get
;
set
; };
}
Şimdi C# 2.0 da Insan nesnesinin örneğini oluşturup properties alanlarına değer atıyalım.
Insan insan =
new
Insan();
insan.Adi=
"Murat"
;
insan.Soyadi=
"Tatar"
;
insan.Fiziksel =
new
Fizik();
insan.Fiziksel.Boy=176;
insan.Kilo=65;
Insan insan =
new
Insan
{
Adi=
"Murat"
,
Soyadi=
"Tatar"
,
Fiziksel=
new
Fizik
{
Boy=176;
Kilo=65;
}
};
Insan insan =
new
Insan {Adi=
"Murat"
, Soyadi=
"Tatar"
, Fiziksel=
new
Fizik{Boy=176; Kilo=65;} };