C# Caller Information Attributes

C# Caller Information Attributes, C# 5.0 ile birlikte tanıtıldı. Bu attribut dahilinde tracing ve debugging işlemlerinde faydalı olacak üç attribute bulunmaktadır.

Bu attributeler parametreler aracılığıyla başka bir metodu çağıran metod hakkında bazı bilgiler sağlar; ancak, bu parametreler opsiyonel parametreler olarak bildirilmelidir.

1 CallerMemberNameAttribute

Bu attribute sahip parametre, çağrılan metodun adı ile doldurulacaktır.

2 CallerLineNumberAttribute

Bu attribute sahip parametre, bu metodun çağrıldığı kaynak dosyadaki satır numarası ile doldurulacaktır.

3 CallerFilePathAttribute

Bu attribute sahip parametre, bu metodun çağrıldığı sınıfın derleme zamanında tam bir dosya yolu ile doldurulacaktır.

Bu attributeler, System.Runtime.CompilerServices namespace’de tanımlanır.

Sonuç:

C# Caller Information Attributes
Method Name: Main
FilePath: C:\Users\fatih.alkan\source\repos\TutorialLinqExpression\TutorialLinqExpression\Program.cs
Line Numer: 18

Sonuç Hakkında

  • LogInfo metodu, Main metot tarafından çağrıldığından, Method Name: “Main” olarak yazdırılır.
  • Yine aynı şekilde LogInfo metodu Main metot içerisinde çağrıldığından dolayı dosya adresi olarak Program.cs gösterilir. Eğer başka bir class içerisinde çağrı yapsaydık o class’ın adresi yazılırdı.
  • Çağrı yapılan satırın numarası 18 olduğundan dolayı Line Number: 18 olarak yazılır.