2009年12月28日月曜日

[.NET]メソッド名をメソッド内で得る

デバッグやトレース目的で、メソッドのIn/Outの情報をログに出したり。というのはよくある話ですが、ログに出力するロジックをコピペで作ったりしていると、よくメソッド名を間違えてしまいます。
で、先日偶然に、メソッド名を得るメソッドを発見しましたので紹介します。使用例はこんな感じ。

private void button1_Click(object sender, EventArgs e)
{
    //using System.Reflection;
    System.Diagnostics.Debug.WriteLine("メソッド = " + MethodBase.GetCurrentMethod());
    //「Void button1_Click(System.Object, System.EventArgs)」と表示される
}


でもなぜかvoidがVoidとなってしまいます。が、「わかりゃーいいんだよぉ」と考えれば十分実用的ですね。

0 件のコメント: