C# callback
时间: 2023-09-04 11:14:17 浏览: 50
在C#中,回调(callback)是一种常见的编程模式,用于实现异步操作、事件处理和委托等场景。回调允许我们在某个操作完成后执行特定的代码。
在C#中,可以使用委托(delegate)来实现回调。委托是一种类型安全的函数指针,它可以持有对一个或多个方法的引用。通过委托,我们可以将一个方法作为参数传递给另一个方法,并在需要的时候调用该方法。
下面是一个简单的示例,演示如何使用回调函数:
```csharp
using System;
// 定义一个委托类型
delegate void Callback(string message);
class Program
{
static void Main()
{
// 创建一个回调函数,并将其作为参数传递给另一个方法
DoSomething("Hello, World!", DisplayMessage);
}
static void DoSomething(string message, Callback callback)
{
// 模拟一些操作
Console.WriteLine("Doing something...");
// 完成操作后调用回调函数
callback(message);
}
static void DisplayMessage(string message)
{
Console.WriteLine("Message received: " + message);
}
}
```
在上面的示例中,我们定义了一个名为`Callback`的委托类型。`DoSomething`方法接受一个字符串和一个回调函数作为参数,执行一些操作后调用回调函数。`DisplayMessage`方法用于显示接收到的消息。
当我们运行程序时,输出将是:
```
Doing something...
Message received: Hello, World!
```
这个示例只是简单展示了回调函数的使用方式。在实际的开发中,回调函数可以用于处理更复杂的异步操作、事件处理等场景。