Я создал следующий Sample-Code:
class Program {
static void Main(string[] args) {
var x = new ActionTestClass();
x.ActionTest();
var y = x.Act.Target;
}
}
public class ActionTestClass {
public Action Act;
public void ActionTest() {
this.Act = new Action(this.ActionMethod);
}
private void ActionMethod() {
MessageBox.Show("This is a test.");
}
}
Когда я сделаю это таким образом, y будет объектом типа ActionTestClass (который создается для x). Теперь, когда я изменю строку
this.Act = new Action(this.ActionMethod);
на
this.Act = new Action(() => MessageBox.Show("This is a test."));
, y (цель действия) будет нулевым. Есть ли способ получить Target (в примере - объект ActionTestClass) также при использовании анонимного действия?