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をデフォルト値として指定しています。)