温馨提示×

c# invoke委托如何实现回调机制

c#
小樊
108
2024-09-06 13:25:31
栏目: 编程语言

在C#中,委托(Delegate)是一种类型,它可以表示对方法的引用。委托可以用于实现回调机制,让一个方法在另一个方法完成特定操作后被调用。要实现回调机制,你需要遵循以下步骤:

  1. 定义一个委托类型:
public delegate void CallbackDelegate(string message);
  1. 创建一个接受委托参数的方法,该方法将在特定操作完成后调用委托:
public static void PerformOperation(CallbackDelegate callback)
{
    // 执行一些操作...
    System.Threading.Thread.Sleep(2000);

    // 操作完成后,调用回调方法
    callback("Operation completed!");
}
  1. 创建一个回调方法,该方法将在PerformOperation方法完成操作后被调用:
public static void CallbackMethod(string message)
{
    Console.WriteLine("Callback method called with message: " + message);
}
  1. 在主程序中,创建一个委托实例并将回调方法传递给PerformOperation方法:
public static void Main(string[] args)
{
    // 创建一个委托实例,将CallbackMethod作为回调方法
    CallbackDelegate callback = new CallbackDelegate(CallbackMethod);

    // 调用PerformOperation方法,并传递回调委托
    PerformOperation(callback);

    Console.ReadKey();
}

当你运行这个程序时,PerformOperation方法将执行一些操作(在这个例子中是等待2秒),然后调用回调方法CallbackMethod。回调方法将输出一条消息,表明操作已完成。

0