在C#中,Callback的最佳实践是使用委托(delegate)或事件(event)来实现。以下是一些关于Callback的最佳实践:
示例:
public delegate void MyCallback(string message);
public void PerformActionWithCallback(MyCallback callback)
{
// 执行某些操作
callback("Operation completed");
}
// 调用方法并传递回调方法
PerformActionWithCallback((message) =>
{
Console.WriteLine(message);
});
示例:
public event EventHandler<MyEventArgs> MyEvent;
public void PerformActionWithCallback()
{
// 执行某些操作
OnMyEvent(new MyEventArgs("Operation completed"));
}
protected virtual void OnMyEvent(MyEventArgs e)
{
MyEvent?.Invoke(this, e);
}
// 订阅事件并提供回调方法
myObject.MyEvent += (sender, e) =>
{
Console.WriteLine(e.Message);
};
无论是使用委托还是事件来实现Callback,都应保持代码清晰、易于理解和维护。另外,应该考虑处理异常和错误情况,确保回调方法能够正常执行。