当我调用这个button_click方法时,我希望调用mymethod()。目前没有任何事情发生。我知道我犯了一个错误。但不知道如何继续。有什么指针吗?
public class Program1
{
static void Main(string[] args)
{
B b = new B();
b.Button_Click();
}
}
class A
{
B b;
public A(B b)
{
this.b = b;
// subscribe to event
b.SomethingHappened += MyMethod;
}
private void MyMethod() { }
}
class B
{
// declare event
public event Action SomethingHappened;
public void Button_Click()
{
// raise event
if (SomethingHappened != null)
SomethingHappened();
SomeMethod();
}
public void SomeMethod() { }
}
当我调用这个button_click方法时,我希望调用mymethod()。目前没有任何事情发生。我知道我犯了一个错误。但不知道如何继续。有什么指针吗?
答案 0 :(得分:5)
您没有发起新的A
订阅您的B
对象:
B b = new B();
A a = new A(b);
A a1 = new A(b);
A a2 = new A(b); // multiple subscribers to the same publisher
b.Button_Click();