2011-01-17 15 views
11

.NETには、どのパラメータとその値がメソッドに渡されたかを知る方法がありますか。反射の方法は?これはメソッドの内部から使用されます。一般的なものでなければならないので、どのような方法でも使用できます。これはログの目的のためです。内部メソッドからメソッドのパラメータ名と値を取得

+0

私はこの「[グローバル例外ハンドラプロジェクトでのユーザーアクティビティログ、テレメトリと変数]」(https://stackoverflow.com/questions/30326673/user-activity-logging-telemetry-and-variables-in-global)を作成しました。 -exception-handlers) –

答えて

4

あなたがしようとしていることは、アスペクト指向プログラミングを使用して簡単に達成できます。良いチュートリアルは、私は彼ら二人を指します、オンラインがあります。

+0

+1これはAFAIKがこの目標を達成する唯一の効率的な方法です。これ以外の唯一の方法は、現在のプロセスをデバッグするために別のプロセスを使用することです(厄介で、信頼性が低く、遅くなります)。 –

+1

なぜdownvote? AOP /製織は、この問題の1つの解決策になる可能性があります。 –

+0

アスペクト指向プログラミングは方法論です。それは最終的には最終的にいくつかの.NET APIに変換されます。 –

5

コールMethodBase.GetCurrentMethod().GetParameters()
ただし、パラメータ値を取得することはできません。 JIT最適化のために、それらはもはや存在しないかもしれません。

9

MethodInfo.GetCurrentMethod()は、現在の方法についての情報を提供し、GetParameters()を使用してパラメータに関する情報を取得します。

+5

これはパラメータ値を与えません –

関連する問題