【发布时间】:2012-02-03 02:34:53
【问题描述】:
如果一个API有一个同步方法T DoSomething<T>();,如果它返回Task<T>,对应的异步方法的命名约定是什么?
Task<T> DoSomethingTask<T>();
或
Task<T> DoSomethingAsync<T>();
还是别的什么?
【问题讨论】:
标签: c# .net asynchronous naming-conventions
如果一个API有一个同步方法T DoSomething<T>();,如果它返回Task<T>,对应的异步方法的命名约定是什么?
Task<T> DoSomethingTask<T>();
或
Task<T> DoSomethingAsync<T>();
还是别的什么?
【问题讨论】:
标签: c# .net asynchronous naming-conventions
如果您谈论的是async 或await 方法,那么来自MSDN:
按照惯例,后缀“Async”被添加到方法的名称中 由 Async 或 async 修饰符修改。
...
在事件、基类、 或接口合同建议使用不同的名称。例如, 常见事件处理程序的名称,例如 button1_Click,最好不要 改名了。
【讨论】:
根据我在 C# 5 / .NET 4.5 中看到的,首选名称是 DoSomethingTaskAsync 或 DoSomethingAsync
例如,.NET 4.5 中的WebClient 类有类似DownloadFileTaskAsync 的方法,因为它已经有一个名为DownloadFileAsync 的方法,所以我假设使用TaskAsync 而不是Async 是为了保持向后兼容性。
【讨论】: