APM使用BeginXXX / EndXX对,而基于事件的异步模式(EAP)使用XXXAsync和XXXCompleted对,但我还没有看到关于如何命名返回任务的方法的任何标准。
我一直在使用XXXTask:
Data GetData()
Task<Data> GetDataTask()
但是想知道是否已经开发了更标准的方法
答案 0 :(得分:13)
对于C#5.0(使用.NET 4.5),任务返回方法的命名约定为XXXAsync。
如果已存在具有此命名的方法(例如,在WebClient上已经有一个实现EAP模式的DownloadDataAsync方法),那么返回异步方法的任务应该命名为XXXTaskAsync。
答案 1 :(得分:2)
我建议使用ParallelExtensionsExtras库中的模式,因为这是由首先制作TPL的团队完成的:)
http://blogs.msdn.com/b/pfxteam/archive/2010/05/04/10007557.aspx
它们的模式与您的模式相同:[SyncAction]通过任务(返回)执行SyncAction异步的方法的任务 - DownloadDataTask,SendTask等。
答案 2 :(得分:-2)
您可以考虑提供属性而不是GetXXX
- 方法,这在C#中更为常见。然后你可以写
Task<Data> DataTask { get; set; } //auto-implemented