-2

例外を再スローする前にいくつかの診断情報を記録する例外ハンドラーを含む Selenium WebDriver のインターフェイス クラスを作成しました。Selenium 操作を開始したメソッドの名前があれば、後で問題を診断しやすくなります。インターフェイス クラスを最初に呼び出したメソッドの名前を取得するにはどうすればよいですか?

4

2 に答える 2

-1

System.Diagnostics オブジェクトを使用してスタック トレースを取得し、次に linq を使用して、現在のクラスで宣言されていない最近追加されたフレームを見つけることができます。JIT コンパイラーは、コードの最適化中にスタック内のメソッドの一部をインライン展開する可能性があることに注意してください。

new System.Diagnostics.StackTrace(1, false).GetFrames().First(f => f.GetMethod().DeclaringType != System.Reflection.MethodBase.GetCurrentMethod().DeclaringType).GetMethod().Name
于 2013-09-18T17:34:35.983 に答える