[英]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.