C# siniflarinda private tanimli degiskenlerinize deger atamak, veya atanmis degeri okumak icin, properties olayini duymusunuzdur ve kullanmisinizdir.
Ornek olarak mesela klasik bir ogrenci sinifinda :
public class Ogrenci_
{
private string _ogrenciAdi;
private int _ogrenciNo;
public string OgrenciAdi
{
get { return _ogrenciAdi;}
set { _ogrenciAdi = value;
}
...
...
}
Yukaridaki gibi tanimli bir sinifi derlediginizde, olusacak IL kodunda, get set attributelari birer fonksiyona donusturuluyor. Isin ilginc kismida bu fonksiyonlarin adi. Fonksiyon isimler il kodunda get_OgrenciAdi() ve set_OgrenciAd(string value) olarak olusturuluyor. Peki bu bizi neden ilgilendiriyor ? :) Cunku bu demektir ki tanimladiginiz attributelarin basina get_ ve set_ koyup fonksiyon yazamazsiniz; yani yukaridaki sinifta sunu yapamazdiniz :
public string get_OgrenciAdi()
Ornek olarak mesela klasik bir ogrenci sinifinda :
public class Ogrenci_
{
private string _ogrenciAdi;
private int _ogrenciNo;
public string OgrenciAdi
{
get { return _ogrenciAdi;}
set { _ogrenciAdi = value;
}
...
...
}
Yukaridaki gibi tanimli bir sinifi derlediginizde, olusacak IL kodunda, get set attributelari birer fonksiyona donusturuluyor. Isin ilginc kismida bu fonksiyonlarin adi. Fonksiyon isimler il kodunda get_OgrenciAdi() ve set_OgrenciAd(string value) olarak olusturuluyor. Peki bu bizi neden ilgilendiriyor ? :) Cunku bu demektir ki tanimladiginiz attributelarin basina get_ ve set_ koyup fonksiyon yazamazsiniz; yani yukaridaki sinifta sunu yapamazdiniz :
public string get_OgrenciAdi()
![]() |
Sinif Propertylerinin Kod Arkasi adlı bu yazının tamamını ve yapılan yorumları okumak için tıklayın. |
|

