51

重複の可能性:
リフレクションを使用して、現在実行中のメソッドの名前を見つけることができますか?
C#コードから現在のメソッドの名前を取得する方法

例えば:

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

印刷:foo

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

4

2 に答える 2

110

これを試して:

System.Reflection.MethodBase.GetCurrentMethod().Name 
于 2012-04-12T19:37:00.217 に答える
16

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

using System.Diagnostics;

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

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

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

于 2012-04-12T19:36:55.333 に答える