可能性の重複:
How can I find the method that called the current method?メソッド内から呼び出し元のメソッド名を取得
私はオブジェクト内の多くの場所から呼び出されたオブジェクトのメソッドを持っています。この人気のあるメソッドを呼び出すメソッドの名前を取得するためのすばやく簡単な方法はありますか?私は...私が見てみたいと思い、それがMain
から呼び出された場合Main
の値を見たい「ButtonClick
」PopularMethod()
がButtonClick
から呼び出された場合PopularMethod()
以内
public Main()
{
PopularMethod();
}
public ButtonClick(object sender, EventArgs e)
{
PopularMethod();
}
public Button2Click(object sender, EventArgs e)
{
PopularMethod();
}
public void PopularMethod()
{
//Get calling method name
}
:
擬似コードの例
私はSystem.Reflection.MethodBase.GetCurrentMethod()
を見ていましたが、それは私に呼び出し方法を得ることはありません。私はStackTrace
クラスを見てきましたが、メソッドが呼び出されるたびにスタックトレース全体を実行することは本当に喜ばしくありませんでした。
詳細については、 http://discuss.joelonsoftware.com/default.asp?dotnet.12.511358.10 –
System.DiagnosticsはStackTraceの名前空間です。System.ReflectionはMethodBaseの名前空間です。 – Guvante
Jason - ありがとう、 "StackTrace"メソッドがどのようにリソースを集中的に使用しているのかよく分かりませんが、これは私が探しているものを取得します。これは私のためのデバッグコードブロックに過ぎません。これは生産には向かないでしょう。あなたの助けをもう一度ありがとう! –