簡體   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