C#基本

[C#] 呼び出し元のメソッド名を取得する

C#で呼び出し元のメソッド名を取得するサンプルです。

サンプル

例)呼び出し元のメソッド名を取得する

Form1_Loadメソッドの59行目から呼び出したとします。

// メソッド呼び出し
TestMethod("テスト");

呼び出されるメソッドです。

public void TestMethod(string str,
  [CallerFilePath] string callerFilePath = "",
  [CallerMemberName] string callerMemberName = "",
  [CallerLineNumber] int callerLineNumber = 0)
{
  Console.WriteLine("呼び出し元ソースファイルパス:" + callerFilePath);
  Console.WriteLine("呼び出し元メソッド名:" + callerMemberName);
  Console.WriteLine("呼び出し元メソッドの行番号:" + callerLineNumber);
}

結果例

呼び出し元ソースファイルパス:C:\WindowsFormsApp1\WindowsFormsApp1\Form1.cs
呼び出し元メソッド名:Form1_Load
呼び出し元メソッドの行番号:59

備考

  • メソッドの引数に「CallerMemberName」の定義を指定すると、メソッド内で呼び出し元メソッド名が取得できます。
  • 指定した引数にはデフォルト値は必ず指定する必要があります。
    (上の例では空文字または0をデフォルト値として指定しています。)

関連記事

-C#基本