2011-07-26 44 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

有人可以告诉我,我错了请,但我一直的印象是在编译时委托是作为一种方法,一种是委托特征定义的目的是好的。我能想到的执行异步代码没有别的办法没有,即使其匿名成为在编译时的方法等..