亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何通過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
南华县| 开平市| 咸阳市| 武城县| 泾川县| 平武县| 金堂县| 鱼台县| 德化县| 元氏县| 日喀则市| 宕昌县| 马山县| 清徐县| 开平市| 武威市| 江西省| 朝阳区| 黎平县| 准格尔旗| 洛浦县| 石柱| 精河县| 中宁县| 平利县| 南陵县| 利川市| 宜都市| 曲阜市| 溧水县| 北安市| 两当县| 岳阳市| 新沂市| 平顺县| 潞城市| 敦煌市| 称多县| 博兴县| 赫章县| 徐水县|