1. 程式人生 > 其它 >C# 獲得呼叫者資訊

C# 獲得呼叫者資訊

public static void Run()
{
    //跟蹤偵聽
    System.Diagnostics.Trace.Listeners.Add(new TextWriterTraceListener(System.Console.Out));

    TraceMessage("First");
    TraceMessage("Second");
    TraceMessage("Third");
}

public static void TraceMessage(string? message = null,
    //獲取方法呼叫方的方法或屬性名稱
    [CallerMemberName] string? memberName = "",
    //獲取包含呼叫方的原始檔的完整路徑
    [CallerFilePath] string? sourceFilePath = "",
    //獲取原始檔中呼叫方法的行號
    [CallerLineNumber] int sourceLineNumber = 0)
{
    Trace.WriteLine("message: " + message);
    Trace.WriteLine("member name: " + memberName);
    Trace.WriteLine("source file path: " + sourceFilePath);
    Trace.WriteLine("source line number: " + sourceLineNumber);
}

示例程式碼

CallerTestDemo

參考資料

CallerFilePathAttribute 類
CallerLineNumberAttribute 類
CallerMemberNameAttribute 類

學習技術最好的文件就是官方文件,沒有之一。
還有學習資料Microsoft LearnCSharp LearnMy Note
如果,你認為閱讀這篇部落格讓你有些收穫,不妨點選一下右下角的推薦按鈕。
如果,你希望更容易地發現我的新部落格,不妨點選一下關注