C# diliyle kodlama yaparken, zaman zaman bazı durumlarda, bir metodun hangi metoddan çağrıldığı, çağıran metod, bilgisine ulaşmamız gerekebiliyor. Örneğin loglama benim aklıma gelen durumlardan birisi, bir başka kullanım sebebi de, hatayı yakalamak olabilir. Bir metod sadece belli bir yerden çağrıldığında hataya düşebilir.

Bu durumlar için c# bize bazı kolaylıklar sunuyor. CallerMemberName özelliği.

Fakat daha önce c# dilinde böyle bir bilgiye nasıl ulaşabiliyorduk. Örnek bir program üzerinden bunu görelim:

çağıran metod uygulama console çıktısı

console uygulama çıktısı

İşaretli kısımlarda göründüğü gibi StackFrame nesnesi oluşturup onun üzerinden istediğimiz bilgiye ulaşıyoruz. Fakat bu yöntem, sistem kaynaklarını fazla tüketen bir alternatif.

Bunun yerine CallerMemberName, CallerFilePath, CallerLineNumber özelliklerini kullanarak, çağıran metod bilgisine ulaşabiliriz.