关于.Net中的委托,`AsyncCallback`和`@ object`的目的是什么?

JMK*_*JMK 3 .net c# delegates asynchronous

我知道在C#(和VB.Net)中我可以创建一个委托,指向一个方法,然后使用这个委托同步或异步地运行我的方法.我知道怎么做.

有时我使用委托来异步运行方法,有时这些方法有输入参数.要异步运行我的方法,我调用delegates BeginInvoke方法,提供输入参数,然后是"null,null".

我提供"null,null"作为最后两个参数,尽管Visual Studio的intellisense建议我提供一个AsyncCallback名为callback 的对象,然后是第二个对象,其名称@object如下所示.

图片

它是什么AsyncCallback以及如何使用,以及@objectintellisense建议的另一个对象的目的是什么?

谢谢

SLa*_*aks 7

AsyncCallback 是一个充当回调函数的委托类型.

如果将函数作为此参数传递,则.Net将在委托异步执行完成后调用您的回调.

第二个参数允许您将状态传递给AsyncCallback,以便您的回调函数可以知道它的来源.