c# - `AsyncCallback` 和 `@object` 关于 .Net 中的委托(delegate)的目的是什么

标签 c# .net asynchronous delegates

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

有时我使用委托(delegate)异步运行一个方法,有时这些方法有输入参数。为了异步运行我的方法,我调用委托(delegate) BeginInvoke方法,提供我的输入参数,然后是“null, null”。

尽管 Visual Studio 的智能感知建议我改为提供 AsyncCallback,但我提供了“null, null”作为最后两个参数名为 callback 的对象后跟第二个简单命名为 @object 的对象如下所示。

Picture

什么是 AsyncCallback它是如何使用的,另一个名为 @object 的对象的目的是什么?由智能感知建议?

谢谢

最佳答案

AsyncCallback 是一种充当回调函数的委托(delegate)类型。

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

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

关于c# - `AsyncCallback` 和 `@object` 关于 .Net 中的委托(delegate)的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247868/

相关文章:

flutter - Flutter中OnChanged函数执行后调用Future

c# - 如何将项目列表绑定(bind)到堆栈面板内的文本框

c# - 如何在 NHibernate 中克隆对象?

c# - 将图像添加到 wpf

c# - Task.Yield 是否真的在当前上下文中运行延续?

.net - ClickOnce 未启动

c# - 编码(marshal)联盟与数组

c# - Xamarin Android "namespace SqlConnection does not exist"即使在放置指令之后。 2.如何在本地将安卓应用连接到MSSQL数据库?

c++ - 在 UI 线程上运行代码

javascript - 函数内的回调应返回到另一个函数