中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何通過c#委托實現事件發布/訂閱

c#
小樊
104
2024-07-01 09:27:43
欄目: 編程語言

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

0
天门市| 新安县| 即墨市| 嘉定区| 容城县| 四川省| 吉安县| 沂源县| 吴江市| 广南县| 瑞昌市| 陇西县| 漳州市| 遵化市| 万载县| 孟津县| 东莞市| 施甸县| 车险| 启东市| 五莲县| 惠水县| 娱乐| 临西县| 开化县| 资溪县| 巴彦淖尔市| 京山县| 湖口县| 湟源县| 错那县| 秭归县| 博客| 封开县| 沽源县| 囊谦县| 温州市| 兴义市| 醴陵市| 华宁县| 伽师县|