在C#中,可以通過使用委托和事件關鍵字來實現事件處理程序。以下是一個簡單的示例:
public delegate void EventHandler(object sender, EventArgs e);
public class Publisher
{
public event EventHandler MyEvent;
public void RaiseEvent()
{
MyEvent?.Invoke(this, EventArgs.Empty);
}
}
public class Subscriber
{
public Subscriber(Publisher publisher)
{
publisher.MyEvent += HandleEvent;
}
public void HandleEvent(object sender, EventArgs e)
{
Console.WriteLine("Event handled");
}
}
public static void Main(string[] args)
{
Publisher publisher = new Publisher();
Subscriber subscriber = new Subscriber(publisher);
publisher.RaiseEvent();
}
以上是一個簡單的示例,演示了如何在C#中實現EventHandler。在實際應用中,事件處理程序可能會包含更復雜的邏輯,而且可能涉及多個訂閱者。