当我有以下示例代码时:
namespace Test {
public delegate void TestDelegate(object sender, MyEventArgs e);
public class A {
public event EventHandler<MyEventArgs> Handler;
public void Test(){
Handler += B.Observe;
}
}
}
public class B {
public void Observe(TestDelegate) {
// Do something
}
}
我得到错误
“观察”没有重载匹配委托“System.EventHandler”
但是,当我使用
Observer(object sender, MyEventArgs e){}
它工作得很好。据我了解,委托可用于在多个地方定义方法签名,这种情况下有什么问题?