C# constructor (Yapıcı metod) içindeki this ne anlama geliyor?

Anonim (156) 1 yıl önce sordu

C# ile ilgili bir kitap okuyorum ve yeni öğreniyorum. Kitapta şöyle bir kod var

public Guid RequestId { get; set; }
public MusicManager(): this(Guid.NewGuid()) {}
public MusicManager(Guid requestId)
{
RequestId = requestId;
}

Burada iki tane constructor (yapıcı metod) var. Fakat ilkinde this ile bir tanımalama yapılıyor. Bu ne anlama geliyor?

Toplam 1 cevap


alattin (16999) 1 yıl önce cevapladı

C# içinde this ifadesi bir kaç farklı kullanım şekline sahiptir. C# içinde this sınıfın geçerli örneğini kast eder.

Senin verdiğin örnekte 

Public MusicManager(): this(Guid.NewGuid()) {}

Kodu sınıfın içindeki diğer constructor'ı çağırmak için kullanılıyor. Yani şunu:

public MusicManager(Guid requestId)
{
RequestId = requestId;
}

 

ilk constructor yeni bir GUID oluşturuyor ve 2. constructor bu değeri RequestID'ye atanıyor.