在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方法會被調用。