繁体   English   中英

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

[英]What is the purpose of `AsyncCallback` and `@object` in regards to delegates in .Net

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

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

我提供“null,null”作为最后两个参数,尽管Visual Studio的intellisense建议我提供一个名为callback的AsyncCallback对象,然后是第二个简单命名为@object ,如下所示。

图片

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

谢谢

AsyncCallback是一个委托类型,充当回调函数。

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

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

基本上AsyncCallback用于处理异步操作的结果。 并且state用于能够在异步和非异步环境(异步和非异步函数)之间传递对象

一个很好的例子是使用AsyncCallback委托来结束异步操作 ,其中进行异步调用以获取Dns信息(因此未定义的术语操作执行和处理)

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM