1. ホーム
  2. c#

[解決済み] コードから現在のメソッドの名前を取得する方法 [重複]について

2022-03-23 18:38:50

質問

ができるのは知っています。

this.GetType().FullName

を得るには

My.Current.Class

しかし、何を呼び出せば

My.Current.Class.CurrentMethod

解決方法は?

using System.Diagnostics;
...

var st = new StackTrace();
var sf = st.GetFrame(0);

var currentMethodName = sf.GetMethod();

あるいは、ヘルパーメソッドを用意したい場合。

[MethodImpl(MethodImplOptions.NoInlining)]
public string GetCurrentMethod()
{
    var st = new StackTrace();
    var sf = st.GetFrame(1);

    return sf.GetMethod().Name;
}

Stusmith氏へのクレジットを更新しました。