在C#中,可以使用lambda表達式來處理事件訂閱。以下是一個示例:
public class EventPublisher
{
public event EventHandler MyEvent;
public void DoSomething()
{
// 觸發事件
MyEvent?.Invoke(this, EventArgs.Empty);
}
}
public class EventSubscriber
{
public EventSubscriber(EventPublisher publisher)
{
// 使用lambda表達式訂閱事件
publisher.MyEvent += (sender, e) =>
{
Console.WriteLine("Event received!");
};
}
}
class Program
{
static void Main()
{
EventPublisher publisher = new EventPublisher();
EventSubscriber subscriber = new EventSubscriber(publisher);
publisher.DoSomething(); // 輸出:Event received!
}
}
在上面的示例中,EventPublisher
類有一個事件 MyEvent
,EventSubscriber
類使用lambda表達式訂閱了這個事件。當 DoSomething
方法被調用時,事件會被觸發并lambda表達式中的代碼會被執行。