C#中的回调

dev*_*ull 5 c# delegates callback

我开始使用C#进行编码,虽然我已经使用代理进行事件连接,但我从未有机会使用回调.回调的真正应用是什么.如果您能提供一些在没有C++先决条件的情况下直接解释回调的链接,我将不胜感激.

geh*_*hho 9

回调实际上是一个委托,即对函数的引用.异步(多线程)场景中经常使用回调来在异步操作完成时通知调用者:异步方法获得一个回调/委托作为参数,并在完成其工作后调用该委托,即它"回调" ".使用回调/委托使调用者能够决定调用哪个操作,因为他传入了参数.

示例:
当用户通过单击按钮启动长时间运行操作时,可以将鼠标指针设置为WaitCursor并在另一个线程上启动长时间运行操作.现在,您如何知道何时可以将鼠标指针重置为普通的ArrowCursor?答:使用回调.您只需创建一个方法,将光标重置为箭头,然后将此方法(委托)的引用作为回调参数传递.然后在操作完成时调用此方法,并重置光标.

实际上,事件也是某种回调:您注册一个委托,以便在发生特定事件时收到通知.发生此事件时,将使用提供的委托回叫您.