91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何通過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
色达县| 桑日县| 岑溪市| 屯昌县| 扶风县| 乐昌市| 洮南市| 平泉县| 阳西县| 抚顺县| 丁青县| 哈尔滨市| 苏尼特左旗| 邯郸市| 肥东县| 永川市| 城步| 集安市| 南安市| 贺州市| 南充市| 曲松县| 鹤庆县| 阿勒泰市| 林西县| 新竹县| 玛多县| 英德市| 济南市| 烟台市| 阿尔山市| 深泽县| 澳门| 清新县| 株洲县| 登封市| 柳河县| 桃源县| 辽中县| 沈丘县| 女性|