在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方法会被调用。