一般模式-如果你发现两种方法有名称结尾的xxxAsync
和xxxTaskAsync
,那么你应该一般都比较喜欢的Task
版本.
这两个版本将存在,因为该xxxAsync
版本是在引入基于任务的异步模式(TAP)之前创建的,并且将基于较旧的异步模式.
在引入TAP方法时,通常的建议是将名称后缀Async
- 但是当已经有另一个具有相同名称的方法1时无法完成- 因此建议后缀为TaskAsync
.
在这种特定情况下,DownloadFileAsync
是"基于事件的异步模式"的实现,它往往更难以使用.该模式本身取代了.NET Framework中的原始异步模式,该模式基于匹配Begin
和End
前缀方法IAsyncResult
,以及异步编程模型
1当然,一般来说,只要它们具有不同的签名,您就可以引入多个具有相同名称的方法.但是当谈到异步模式时,EAP异步方法和TAP异步方法通常会采用相同的参数 - 它们只会在返回类型上有所不同.即使他们的论点确实不同,将两种模式置于完全相同的名称下也可能会引起更多的混淆.
一般模式-如果你发现两种方法有名称结尾的xxxAsync
和xxxTaskAsync
,那么你应该一般都比较喜欢的Task
版本.
这两个版本将存在,因为该xxxAsync
版本是在引入基于任务的异步模式(TAP)之前创建的,并且将基于较旧的异步模式.
在引入TAP方法时,通常的建议是将名称后缀Async
- 但是当已经有另一个具有相同名称的方法1时无法完成- 因此建议后缀为TaskAsync
.
在这种特定情况下,DownloadFileAsync
是"基于事件的异步模式"的实现,它往往更难以使用.该模式本身取代了.NET Framework中的原始异步模式,该模式基于匹配Begin
和End
前缀方法IAsyncResult
,以及异步编程模型
1当然,一般来说,只要它们具有不同的签名,您就可以引入多个具有相同名称的方法.但是当谈到异步模式时,EAP异步方法和TAP异步方法通常会采用相同的参数 - 它们只会在返回类型上有所不同.即使他们的论点确实不同,将两种模式置于完全相同的名称下也可能会引起更多的混淆.