Conseguir información de un Objeto y de un método con Expresiones Lambda.
En algún momento en nuestra vida de programador, vamos a necesitar extraer el nombre de la clase de algún objeto o de un método. Es ahí donde estos 2 métodos nos pueden ayudar. El primero recibe un objeto y extrae el nombre de la clase: protected string GetClassName( Expression<Func<object>> classToTest ) { string className = classToTest.Body.Type.Name; //Add something interesting! Return className; } Y para llamarlo usaremos la siguiente sintaxis: public class SomeClass { public int SomeMethod( object value ) { string name=this.GetClassName( ( ) => this ); } // Other Methods ... } Nuestro segundo método, recibe un método, que no tiene parámetros y obtiene su nombre y clase a la que pertenece: protected string GetMethodName( Expression<Action> methodToTest ) { string className = ( methodToTest.Body as MethodCallExpression ) .Method.DeclaringType.Name;...