來電者資訊屬性

呼叫者資訊屬性可用於將有關呼叫者的資訊傳遞給呼叫的方法。宣告如下:

using System.Runtime.CompilerServices;

public void LogException(Exception ex,
                         [CallerMemberName]string callerMemberName = "",
                         [CallerLineNumber]int callerLineNumber = 0,
                         [CallerFilePath]string callerFilePath = "")
{
    //perform logging
}

呼叫看起來像這樣:

public void Save(DBContext context)
{
    try
    {
        context.SaveChanges();
    }
    catch (Exception ex)
    {
        LogException(ex);
    }
}

請注意,只有第一個引數顯式傳遞給 LogException 方法,而其餘引數將在編譯時提供相關值。

callerMemberName 引數將接收值 Save - 呼叫方法的名稱。

callerLineNumber 引數將接收 LogException 方法呼叫所寫的任何行的編號。

並且’callerFilePath’引數將接收檔案 Save 方法宣告的完整路徑。