Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

Yazılım Soruları

0

Bir yapılandırıcıyı (Constructor) diğer bir yapılandırıcı içinden çağırmak

Bir kaç tane yapılandırıcıya sahip bir sınıfım var. Yapılandırıcılar içinde aynı işlemleri tekrar etmemek için bir yapılandırıcı çağırıldığında diğer bir yapılandırıcıyı da bu işlemlerin yapılmasi için ben çağırabilir miyim? Bunu nasıl yaparım?

Soran:04.06.16 17:32
misafir  

1 Cevap

0
Bir yapılandırıcının kendinden sonra başka bir yapılandırıcıyı çağırması için C# yapılandırıcılarında yerleşik bir özellik var.

    public class Deneme
{
int _x, _y;
public Deneme():this(0, 0)
{
// ....
}
public Deneme(int x, int y)
{
_x = x;
_y = y;
}
}
Bu örnekteki :this(0, 0) ifadesi ikinci parametreli yapılandırıcıyı 0 ve 0 değerleriyle çağırır. Ancak önce parametreli yapılandırıcı çalışacaktır. Eğer parametresiz birinci yapılandırıcı içinde işlemlerin varsa (// .... olan yerde) onlar daha sonra çalıştırılacaktır.

Eğer bazı işlemler yaptıktan sonra bir yapılandırıcıyı çağırmak gerekirse ayrı bir fonksiyon yazarsın. Her iki yapılandırıcı içinden de duruma göre bu fonksiyonu  çağırırsın.

    public class Deneme
{
int _x, _y;
public Deneme()
{
// Burada bazı işlemler olabilir.
DenemeYapilandir(0, 0);
}
public Deneme(int x, int y)
{
// Burada da bazı işlemler olabilir.
DenemeYapilandir(x, y);
}
public void DenemeYapilandir(int x, int y)
{
_x = x;
_y = y;
}
}


Cevaplayan: 14.06.16 19:29
cevapsitesi
102,034p 15ü
Cevabı seçen: 15.06.16 00:25
canora
101,387p 4ü