在C#中,处理回调通常涉及到使用委托和事件。委托是一种定义回调方法的类型,而事件是基于委托的发布-订阅模式。下面是一个简单的示例,展示了如何在C#中使用委托和事件处理回调。
首先,定义一个委托类型,用于表示回调方法:
public delegate void CallbackMethod(string message);
接下来,创建一个类,该类包含一个事件,该事件使用上面定义的委托类型:
public class CallbackHandler
{
// 定义事件,使用CallbackMethod委托类型
public event CallbackMethod OnCallback;
// 触发事件的方法
public void TriggerCallback(string message)
{
OnCallback?.Invoke(message);
}
}
现在,可以在另一个类中使用这个CallbackHandler
类,并为其OnCallback
事件添加处理程序:
public class Program
{
public static void Main(string[] args)
{
// 创建CallbackHandler实例
CallbackHandler handler = new CallbackHandler();
// 为OnCallback事件添加处理程序
handler.OnCallback += HandleCallback;
// 触发事件
handler.TriggerCallback("Hello, World!");
}
// 回调处理方法
public static void HandleCallback(string message)
{
Console.WriteLine($"Callback received: {message}");
}
}
在这个示例中,我们创建了一个CallbackHandler
实例,并为其OnCallback
事件添加了一个处理程序HandleCallback
。当TriggerCallback
方法被调用时,它会触发OnCallback
事件,并传递一个字符串消息。HandleCallback
方法将接收到的消息打印到控制台。