在C#中,委托(Delegate)是一种类型,它可以表示对方法的引用。委托可以用于实现回调机制,让一个方法在另一个方法完成特定操作后被调用。要实现回调机制,你需要遵循以下步骤:
- 定义一个委托类型:
public delegate void CallbackDelegate(string message);
- 创建一个接受委托参数的方法,该方法将在特定操作完成后调用委托:
public static void PerformOperation(CallbackDelegate callback) { // 执行一些操作... System.Threading.Thread.Sleep(2000); // 操作完成后,调用回调方法 callback("Operation completed!"); }
- 创建一个回调方法,该方法将在
PerformOperation
方法完成操作后被调用:
public static void CallbackMethod(string message)
{
Console.WriteLine("Callback method called with message: " + message);
}
- 在主程序中,创建一个委托实例并将回调方法传递给
PerformOperation
方法:
public static void Main(string[] args)
{
// 创建一个委托实例,将CallbackMethod作为回调方法
CallbackDelegate callback = new CallbackDelegate(CallbackMethod);
// 调用PerformOperation方法,并传递回调委托
PerformOperation(callback);
Console.ReadKey();
}
当你运行这个程序时,PerformOperation
方法将执行一些操作(在这个例子中是等待2秒),然后调用回调方法CallbackMethod
。回调方法将输出一条消息,表明操作已完成。