尋ねられ、検索され、期待されましたが、まっすぐな答えを見つけることができません。現在のメソッドの名前を取得するためにnameofを使用しています
C#6.0にはメソッド名を指定してnameof
を使用して現在のメソッド名を取得していますか?
私はこのような辞書に私のテスト結果を追加してい:
Results.Add(nameof(Process_AddingTwoConsents_ThreeExpectedRowsAreWrittenToStream), result);
私はペースト+ラインをコピーすることができますので、私は、明示的にメソッド名を指定する非を持っていないならば、私は好みます実例:
Results.Add(nameof(this.GetExecutingMethod()), result);
可能であれば、私はReflectionを使用したくありません。
UPDATE
(提案として)これはthis questionの複製ではありません。現在のメソッド名を取得するために、リフレクションなしでnameof
を明示的に使用できるかどうかを尋ねています。
Results.Add(new StackTrace().GetFrame(0).GetMethod().Name, result);
これを使用しないでください:http://stackoverflow.com/questions/44153/can-you-use-reflection-to-find-the-name-of-thecurrently-executing-method? – HimBromBeere
'StackTrace'を使ってそのような情報を得ることができますが、これは遅いです。自動的に何かを達成するには、コード生成(例えば、コンパイラの前に実行して何か他のものに置き換えるツール)やAOP([this](http://stackoverflow.com/q/25803/1997232)を参照)を使用できます。 – Sinatr
これはしませんか? 'System.Reflection.MethodInfo.GetCurrentMethod()。Name' – Zorkind