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

溫馨提示×

C#委托事件怎樣實現解耦

c#
小樊
86
2024-10-25 05:12:53
欄目: 編程語言

在C#中,委托和事件是實現解耦的一種常用方法。通過使用委托和事件,你可以將事件的發送者和接收者分離,從而使它們之間的耦合度降低。下面是一個簡單的示例,展示了如何使用委托和事件實現解耦:

  1. 首先,定義一個委托:
public delegate void MyEventHandler(object sender, EventArgs e);
  1. 創建一個包含事件的類:
public class EventPublisher
{
    // 定義事件
    public event MyEventHandler MyEvent;

    // 觸發事件的方法
    public void RaiseMyEvent()
    {
        MyEvent?.Invoke(this, EventArgs.Empty);
    }
}
  1. 創建一個訂閱事件的類:
public class EventSubscriber
{
    public EventSubscriber(EventPublisher publisher)
    {
        // 訂閱事件
        publisher.MyEvent += OnMyEvent;
    }

    // 處理事件的方法
    private void OnMyEvent(object sender, EventArgs e)
    {
        Console.WriteLine("Event received!");
    }
}
  1. 在主程序中使用這兩個類:
class Program
{
    static void Main(string[] args)
    {
        EventPublisher publisher = new EventPublisher();
        EventSubscriber subscriber = new EventSubscriber(publisher);

        // 觸發事件
        publisher.RaiseMyEvent();
    }
}

在這個示例中,EventPublisher 類負責觸發事件,而 EventSubscriber 類負責處理事件。通過將事件的發送者和接收者分離,我們可以輕松地更改事件的接收者,而不需要修改發送者的代碼。這就實現了解耦。

0
那坡县| 曲水县| 衡东县| 鄂尔多斯市| 东莞市| 青岛市| 夹江县| 濉溪县| 汉阴县| 兰溪市| 蒲江县| 隆化县| 黎川县| 区。| 临漳县| 衡东县| 财经| 星子县| 班玛县| 江源县| 武平县| 和平县| 常宁市| 嘉禾县| 华蓥市| 江津市| 望城县| 漳平市| 平阳县| 黄骅市| 昌都县| 武汉市| 怀宁县| 区。| 崇阳县| 兴安盟| 康乐县| 田东县| 乌兰察布市| 米脂县| 桐乡市|