c# eventbus的订阅与发布机制

   2024-10-06 8410
核心提示:在C#中实现事件总线(Event Bus)的订阅与发布机制,可以使用委托和事件来实现。下面是一个简单的示例代码:using System;public

在C#中实现事件总线(Event Bus)的订阅与发布机制,可以使用委托和事件来实现。下面是一个简单的示例代码:

using System;public class EventBus{    public event EventHandler<EventArgs> EventOccurred;    public void PublishEvent()    {        OnEventOccurred(EventArgs.Empty);    }    protected virtual void OnEventOccurred(EventArgs e)    {        EventOccurred?.Invoke(this, e);    }}public class Subscriber{    public Subscriber(EventBus eventBus)    {        eventBus.EventOccurred += HandleEvent;    }    private void HandleEvent(object sender, EventArgs e)    {        Console.WriteLine("Event occurred!");    }}public class Program{    public static void Main()    {        EventBus eventBus = new EventBus();        Subscriber subscriber = new Subscriber(eventBus);        eventBus.PublishEvent();    }}

在这个示例中,EventBus类包含一个事件EventOccurred,用于发布事件。Subscriber类订阅了EventOccurred事件,并在事件发生时执行HandleEvent方法。在Main方法中,创建了一个EventBus实例和一个Subscriber实例,然后调用EventBus的PublishEvent方法来发布事件。当事件发生时,Subscriber会接收到事件并输出"Event occurred!"。

通过这种方式,可以实现简单的事件总线机制,用于实现发布订阅模式。在实际应用中,可以根据需要扩展事件和订阅者的功能,实现更复杂的事件处理逻辑。

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

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