¿Qué tal si pudiéramos obtener dinámicamente el nombre del método en el que nos encontramos? Bueno es bastante más fácil de lo que pensamos, y se puede obtener de varias formas.
Una forma es usando reflection:
string MethodName = System.Reflection
.MethodBase.GetCurrentMethod().Name;
Y la otra es usando el objeto StackFrame:
string MethodName = new StackFrame(0).GetMethod().Name;
Bastante simple no? Sin embargo, a veces no queremos saber el método en el cual estamos sino el método que nos invocó. Esto se puede resolver fácilmente con un StackFrame.
string MethodName = new StackFrame(1).GetMethod().Name
Muy simple :). ¿Para qué podemos usar esto? Algunos usos simples son:
- Auditoría
- Si obtenemos los métodos, podemos obtener sus parámetros y sus valores. Es excelente información para armar todo un ruteo tras una Exception.
- Remover literales y constantes =)
- Cualquier uso que se les ocurra!
Fun Coding!
No comments:
Post a Comment