Una gran parte de mi código C# sigue este patrón:registro genérico de parámetros de la función de gestión de excepciones
void foo(string param1, string param2, string param3)
{
try
{
// do something...
}
catch(Exception ex)
{
LogError(String.Format("Error in foo(param1={0}, param2={1}, param3={2}), exception={3}", param1, param2, param3, ex.Message));
}
}
¿Hay una manera de .NET para obtener una lista de clave/valor de los parámetros de una función para que ¿Puedo llamar a otra función para construir mi cadena de registro de errores? O ¿Tiene una manera más genérica/mejor de hacer esto?
podría ser algo con Reflexión en el idioma que podría ayudar? – nlucaroni
Puede hacerlo a través de la reflexión, pero se vuelve costoso en el transcurso de muchas llamadas a funciones. –
No creo que pueda hacer esto con Reflection o StackTrace/StackFrame. Creo que su única opción puede ser usar un AOP o marco de postprocesamiento, como PostSharp. –