首页主机资讯如何通过c#委托实现事件发布/订阅

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

时间2024-07-02 00:34:04发布访客分类主机资讯浏览939
导读:在C#中,可以通过委托来实现事件的发布和订阅。以下是一个简单的示例代码: using System; public class EventPublisher { public delegate void EventHandler(...

在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方法取消订阅事件。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何通过c#委托实现事件发布/订阅
本文地址: https://pptw.com/jishu/685450.html
c#委托对于LINQ查询的作用是什么 c#委托的泛型使用方法是什么

游客 回复需填写必要信息