溫馨提示×

c#委托如何實現(xiàn)回調(diào)機制

c#
小樊
108
2024-06-30 01:19:40
欄目: 編程語言

在C#中,委托可以用來實現(xiàn)回調(diào)機制。回調(diào)機制是一種常見的設(shè)計模式,它允許一個對象在特定的事件發(fā)生時通知其他對象執(zhí)行特定的操作。

以下是一個簡單的示例,演示了如何在C#中實現(xiàn)回調(diào)機制:

using System;

// 定義一個委托
public delegate void CallbackHandler(string message);

// 定義一個包含回調(diào)委托的類
public class CallbackExample
{
    public event CallbackHandler CallbackEvent;

    public void DoSomething()
    {
        // 執(zhí)行一些操作
        Console.WriteLine("Doing something...");

        // 觸發(fā)回調(diào)事件
        CallbackEvent?.Invoke("Operation completed.");
    }
}

// 回調(diào)方法
public static void CallbackMethod(string message)
{
    Console.WriteLine("Callback method called: " + message);
}

class Program
{
    static void Main()
    {
        CallbackExample example = new CallbackExample();

        // 注冊回調(diào)方法
        example.CallbackEvent += CallbackMethod;

        // 調(diào)用DoSomething方法
        example.DoSomething();

        Console.ReadLine();
    }
}

在這個示例中,我們首先定義了一個委托CallbackHandler,它接受一個字符串作為參數(shù)。然后在CallbackExample類中定義了一個事件CallbackEvent,該事件使用CallbackHandler委托作為類型。

在Main方法中,我們創(chuàng)建了一個CallbackExample實例,并注冊了一個名為CallbackMethod的回調(diào)方法。然后調(diào)用DoSomething方法,當DoSomething方法完成時,它會觸發(fā)CallbackEvent事件,從而調(diào)用注冊的回調(diào)方法CallbackMethod。

通過使用委托和事件,我們可以很容易地在C#中實現(xiàn)回調(diào)機制,實現(xiàn)對象之間的解耦和通信。

0