Tengo una Acción y me pregunto cómo podría acceder a la instancia que llama al método.Delegado de acción. Cómo obtener la instancia que llama al método
Ejemplo:
this.FindInstance(() => this.InstanceOfAClass.Method());
this.FindInstance(() => this.InstanceOfAClass2.Method());
this.FindInstance(() => this.InstanceOfAClass3.Method());
public void FindInstance(Action action)
{
// The action is this.InstanceOfAClass.Method(); and I want to get the "Instance"
// from "action"
}
Gracias
No, Delegate.Target es la clase en la que se ha invocado la acción. Quiero la instancia que llama al método. –
@Jean En ese caso, no entiendo lo que buscas. Proporcione un ejemplo breve pero * completo * –
@Jean: El motivo por el que esto no funciona para usted es porque va a cerrar la llamada al método en una lambda inútil. Pruebe 'FindInstance (InstanceOfAClass.Method)' (sin lambda) y funcionará como lo desee. Si desea que funcione con la sintaxis lambda, tendrá que aceptar un parámetro de tipo 'Expresión' y recorrer el árbol de expresiones. –