¿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().NameMuy 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