2011-01-17 5 views
11

.NET에서 메서드에 전달 된 매개 변수와 해당 값을 알 수있는 방법이 있습니까? 반사 방식? 이것은 메소드 내부에서 사용됩니다. 그것은 일반적인 방법으로 모든 방법에서 사용될 수 있습니다. 이것은 로깅 용입니다.메서드의 매개 변수 이름과 값을 내부 메서드에서 가져옵니다.

+0

[글로벌 예외 처리기 프로젝트의 사용자 활동 로깅, 원격 측정 및 변수] (https://stackoverflow.com/questions/30326673/user-activity-logging-telemetry-and-variables-in-global)을 작성했습니다. -exception-handlers) –

답변

4

당신이하려는 것은 aspect 지향 프로그래밍을 사용하여 쉽게 달성 될 수 있습니다. 좋은 자습서 내가 그 두 가지를 가리 것이다 온라인이 있습니다

+0

+1이 목표를 달성하는 유일한 효과적인 방법입니다. 유일한 다른 방법은 다른 프로세스를 사용하여 현재 프로세스를 디버그하고, 불쾌하고, 신뢰할 수없고, 느리게하는 것입니다. –

+1

왜 downvote? AOP/직조는 문제의 한 가지 해결책이 될 수 있습니다. –

+0

aspect 지향 프로그래밍은 방법론이다. 결국 일부 .NET API로 변환됩니다. –

5

전화 MethodBase.GetCurrentMethod().GetParameters().
그러나 매개 변수 값을 가져올 수 없습니다. JIT 최적화로 인해 더 이상 존재하지 않을 수도 있습니다.

9

MethodInfo.GetCurrentMethod()은 현재 방법에 대한 정보를 제공 한 다음 GetParameters()을 사용하여 매개 변수에 대한 정보를 얻습니다.

+5

이것은 매개 변수 값을 제공하지 않습니다. –

관련 문제