EventHandler在C#中的实现方式

avatar
作者
猴君
阅读量:1

在C#中,可以通过使用委托和事件关键字来实现事件处理程序。以下是一个简单的示例:

  1. 首先定义一个委托,用于指定事件处理程序的方法签名:
public delegate void EventHandler(object sender, EventArgs e); 
  1. 在包含事件的类中定义事件:
public class Publisher {     public event EventHandler MyEvent;      public void RaiseEvent()     {         MyEvent?.Invoke(this, EventArgs.Empty);     } } 
  1. 创建事件处理程序并将其绑定到事件:
public class Subscriber {     public Subscriber(Publisher publisher)     {         publisher.MyEvent += HandleEvent;     }      public void HandleEvent(object sender, EventArgs e)     {         Console.WriteLine("Event handled");     } } 
  1. 在Main方法中实例化发布者和订阅者,并调用RaiseEvent方法触发事件:
public static void Main(string[] args) {     Publisher publisher = new Publisher();     Subscriber subscriber = new Subscriber(publisher);      publisher.RaiseEvent(); } 

以上是一个简单的示例,演示了如何在C#中实现EventHandler。在实际应用中,事件处理程序可能会包含更复杂的逻辑,而且可能涉及多个订阅者。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!