2011-07-26 40 views
5

This msdn article有權「如何調用Visual C#方法異步」使用委託異步調用方法是否是最佳實踐?

文章說,而我在我的腦袋回答:「不一定,這只是一個做到這一點的方式」,「異步調用通過使用委託製造」。

就事論事的事實基調文章語句讓我不知道 - 它是一個最佳實踐,還是MS認爲這是一個最好的做法,使異步調用時使用委託?

回答

5

上漲到目前的.NET版本,異步方法通常被從你觸發他們一個獨立的後臺線程處理,所以它一直主要是必要使用委託,你可以在另一個線程調用做到這一點。但是,使用最近的C#異步CTP(可能在C#5.0或其他未來版本中),故事會有所改變 - 使用委託並非必不可少,您可以使用傳統的命令式編寫代碼,編譯器將爲您完成大部分工作。這可能涉及委託人,但不一定 - 編譯器會執行一些聰明的技巧並編寫一個可用於異步執行代碼的有限狀態機。

+0

1,我不知道在CTP 5.0 – 2011-07-26 01:15:19

1

是的,代表是call methods asynchronously的方式。這不是最佳實踐,那是如何完成的。在.NET中,您必須使用委託。

0

有人可以告訴我,我錯了請,但我一直的印象是在編譯時委託是作爲一種方法,一種是委託特徵定義的目的是好的。我能想到的執行異步代碼沒有別的辦法沒有,即使其匿名成爲在編譯時的方法等..