温馨提示×

c# callback 怎么使用

c#
小樊
81
2024-11-29 05:32:33
栏目: 编程语言

在C#中,回调是一种常见的异步编程模式。回调方法是一个作为参数传递给另一个方法的方法。当调用外部方法时,这个参数方法(回调方法)将在适当的时机被调用。这使得您可以在异步操作完成时执行特定的代码。

以下是一个简单的C#回调示例:

using System;

// 定义一个回调方法
public delegate void MyCallback(string message);

// 一个使用回调方法的类
public class MyClass
{
    public void DoWork(MyCallback callback)
    {
        // 模拟异步操作
        System.Threading.Thread.Sleep(2000);

        // 异步操作完成后,调用回调方法
        callback("工作完成!");
    }
}

public class Program
{
    public static void Main()
    {
        MyClass myClass = new MyClass();

        // 将回调方法作为参数传递给DoWork方法
        myClass.DoWork(new MyCallback(OnWorkCompleted));

        // 主线程继续执行其他任务...
        Console.WriteLine("等待回调...");
    }

    // 回调方法实现
    public static void OnWorkCompleted(string message)
    {
        Console.WriteLine(message);
    }
}

在这个示例中,我们定义了一个名为MyCallback的委托,它表示回调方法。MyClass类中的DoWork方法接受一个MyCallback类型的参数。在DoWork方法中,我们模拟了一个异步操作(使用Thread.Sleep),然后在操作完成后调用回调方法。

Main方法中,我们创建了一个MyClass实例,并将OnWorkCompleted方法作为回调方法传递给DoWork方法。当DoWork方法完成异步操作并调用回调方法时,OnWorkCompleted方法将被执行,输出"工作完成!"。

0