回调实际上是一个委托,即对函数的引用.异步(多线程)场景中经常使用回调来在异步操作完成时通知调用者:异步方法获得一个回调/委托作为参数,并在完成其工作后调用该委托,即它"回调" ".使用回调/委托使调用者能够决定调用哪个操作,因为他传入了参数.
示例:
当用户通过单击按钮启动长时间运行操作时,可以将鼠标指针设置为WaitCursor并在另一个线程上启动长时间运行操作.现在,您如何知道何时可以将鼠标指针重置为普通的ArrowCursor?答:使用回调.您只需创建一个方法,将光标重置为箭头,然后将此方法(委托)的引用作为回调参数传递.然后在操作完成时调用此方法,并重置光标.
实际上,事件也是某种回调:您注册一个委托,以便在发生特定事件时收到通知.发生此事件时,将使用提供的委托回叫您.