如何通过c#委托实现事件发布/订阅

   2024-10-07 3080
核心提示:在C#中,可以通过委托来实现事件的发布和订阅。以下是一个简单的示例代码:using System;public class EventPublisher{public de

在C#中,可以通过委托来实现事件的发布和订阅。以下是一个简单的示例代码:

using System;public class EventPublisher{    public delegate void EventHandler(string message);    public event EventHandler OnEvent;    public void PublishEvent(string message)    {        OnEvent?.Invoke(message);    }}public class EventSubscriber{    public void Subscribe(EventPublisher publisher)    {        publisher.OnEvent += HandleEvent;    }    public void Unsubscribe(EventPublisher publisher)    {        publisher.OnEvent -= HandleEvent;    }    public void HandleEvent(string message)    {        Console.WriteLine("Event received: " + message);    }}public class Program{    public static void Main()    {        EventPublisher publisher = new EventPublisher();        EventSubscriber subscriber = new EventSubscriber();        subscriber.Subscribe(publisher);        publisher.PublishEvent("Hello World");        subscriber.Unsubscribe(publisher);        publisher.PublishEvent("Goodbye World");    }}

在这个示例中,EventPublisher类包含了一个委托EventHandler和一个事件OnEventPublishEvent方法用于触发事件。

EventSubscriber类包含了一个Subscribe方法和一个Unsubscribe方法,用于订阅和取消订阅事件。HandleEvent方法用于处理事件。

Main方法中,创建了一个EventPublisher实例和一个EventSubscriber实例。通过调用Subscribe方法订阅事件,并通过调用PublishEvent方法触发事件。最后调用Unsubscribe方法取消订阅事件。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号