Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用委托异步调用方法是最佳实践吗?_C#_.net_Asynchronous_Delegates - Fatal编程技术网

C# 使用委托异步调用方法是最佳实践吗?

C# 使用委托异步调用方法是最佳实践吗?,c#,.net,asynchronous,delegates,C#,.net,Asynchronous,Delegates,标题为“如何异步调用Visual C方法” 这篇文章说“异步调用是通过使用委托进行的”,我在脑海中回答说“不一定,这只是一种方法” 文章陈述的事实语调使我感到奇怪——在异步调用中使用委托是最好的做法,还是MS认为最好的做法?< /P> < P>是的,代表是这样做的。这不是最佳做法,而是如何做到的。在.NET中,您必须使用委托。直到当前的.NET版本,异步方法通常在与触发异步方法的后台线程不同的后台线程中处理,因此最重要的是使用可以在另一个线程中调用的委托 然而,随着最新的C#Async CTP(

标题为“如何异步调用Visual C方法”

这篇文章说“异步调用是通过使用委托进行的”,我在脑海中回答说“不一定,这只是一种方法”


文章陈述的事实语调使我感到奇怪——在异步调用中使用委托是最好的做法,还是MS认为最好的做法?< /P> < P>是的,代表是这样做的。这不是最佳做法,而是如何做到的。在.NET中,您必须使用委托。

直到当前的.NET版本,异步方法通常在与触发异步方法的后台线程不同的后台线程中处理,因此最重要的是使用可以在另一个线程中调用的委托


然而,随着最新的C#Async CTP(可能会在C#5.0或其他未来版本中出现),情况发生了一些变化——不必使用委托,您可以用传统的命令式风格编写代码,编译器将为您完成大部分工作。这可能涉及委托,但不一定-编译器做了一些巧妙的技巧,并编写了一个有限状态机,可用于异步执行代码。

有人可以告诉我我错了,但我一直认为在编译时委托和方法一样好,委托作为签名定义的目的。如果没有方法,我想不出其他执行异步代码的方法,即使它是匿名的,在编译时变成了方法