2011-01-17 19 views
11

¿Existe alguna manera en .NET de saber qué parámetros y sus valores se pasaron a un método? Forma de reflexión? Esto se usará desde el interior del método. Tiene que ser genérico para que pueda usarse desde cualquier método. Esto es para fines de registro.Obtiene los nombres y valores de los parámetros del método desde adentro del método

+0

Terminé haciendo este [Registro de actividad del usuario, telemetría y variables en el proyecto Global Exception Handlers] (https://stackoverflow.com/questions/30326673/user-activity-logging-telemetry-and-variables-in-global -exception-handlers) –

Respuesta

4

Lo que estás tratando de hacer se puede lograr fácilmente mediante la programación orientada a aspectos. Hay buenos tutoriales en línea, voy a señalar a dos de ellos:

+0

+1 AFAIK esta es la única manera eficiente de lograr este objetivo. La única otra forma sería usar otro proceso para depurar el proceso actual, desagradable, poco fiable y lento. –

+1

¿Por qué el voto a favor? AOP/weaving podría ser una solución para el problema. –

+0

programación orientada a aspectos es una metodología. Todavía se traduce eventualmente a algunas aplicaciones .NET. –

5

llamada MethodBase.GetCurrentMethod().GetParameters().
Sin embargo, no es posible obtener los valores de los parámetros; debido a la optimización de JIT, es posible que ya no existan.

Cuestiones relacionadas