1

Console.Writeline()を使用するときに、現在の関数の名前のプレースホルダーはありますか?

4

4 に答える 4

6

リフレクションでは、オプションとしてMethodBase.GetCurrentMethod()があります。

于 2012-02-22T22:39:44.573 に答える
6

私はこれがあなたが探しているものだと信じています:

using System.Diagnostics;

StackTrace stackTrace = new StackTrace();
Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
于 2012-02-22T22:40:46.463 に答える
2

http://www.codeproject.com/Articles/7964/Logging-method-name-in-NETを参照してください

ロギングのもう1つの(より良い)オプションは、 PostSharpなどのフレームワークを使用するAOPです。

于 2012-02-22T22:41:15.880 に答える
1

リフレクションを使用したい場合を除いて、そうではありません。ただし、C#5には、コンパイル時に情報を挿入する「発信者情報属性」と呼ばれる新機能が含まれます。http://bartwullems.blogspot.com/2012/02/c-5-caller-info-attributes.htmlを参照してください

于 2012-02-22T22:53:51.387 に答える