阅读量:0
在C#中,可以使用委托和事件来处理多个事件源。首先,需要定义一个委托来处理事件的方法:
public delegate void MyEventHandler(object sender, EventArgs e);
然后,在事件发送方的类中定义事件:
public event MyEventHandler MyEvent;
接下来,在事件发送方类中触发事件:
public void RaiseMyEvent() { MyEvent?.Invoke(this, EventArgs.Empty); }
最后,在事件接收方的类中订阅事件:
// 假设有两个事件发送方类:EventSource1和EventSource2 EventSource1 source1 = new EventSource1(); EventSource2 source2 = new EventSource2(); source1.MyEvent += MyEventHandlerMethod; source2.MyEvent += MyEventHandlerMethod; public void MyEventHandlerMethod(object sender, EventArgs e) { // 处理事件的逻辑 }
通过这种方式,可以方便地处理多个事件源发送的事件。当任何一个事件发送方触发事件时,订阅了该事件的事件接收方类中的MyEventHandlerMethod方法会被调用。