web-dev-qa-db-ja.com

現在の関数の名前を取得する方法は?

可能性のある複製:
現在実行中のメソッドの名前を見つけるためにリフレクションを使用できますか?
C#コードから現在のメソッドの名前を取得する方法

例えば:

void foo() {
    Console.Write(__MYNAME__);
}

印刷:foo

c#でそれを行うことは可能ですか?

45
Jack

これを試して:

System.Reflection.MethodBase.GetCurrentMethod().Name 
106

スタックトレースを確認できます

using System.Diagnostics;

// get call stack
StackTrace stackTrace = new StackTrace();

// get calling method name
Console.WriteLine(stackTrace.GetFrame(0).GetMethod().Name);

ただし、メソッドがインライン化されている場合、親メソッド名を取得することに注意してください。

14
Albin Sunnanbo