イベントハンドラ
public void DeliverEvent(object sender, EventArgs e)
{
}
#1:これは機能します
public void StartListening(Button source)
{
source.Click += DeliverEvent;
}
#2: そして、これも..
public void StartListening(EventHandler eventHandler)
{
eventHandler += DeliverEvent;
}
しかし、#2では、次のようなことをしようとすると、メソッドを呼び出すことができません:
StartListening(button.Click);
次のエラーが表示されます。
The event 'System.Windows.Forms.Control.Click' can only appear on the left hand side of += or -=
そのエラーを回避する方法はありますか? イベントを格納するオブジェクトではなく、イベントをStartListening
メソッドに渡すことができるようにしたい。