返回任务的命名方法的可接受模式是什么?

发布于 2024-09-04 12:24:25 字数 308 浏览 4 评论 0原文

APM 使用 BeginXXX/EndXX 对和基于事件的异步模式 (EAP )使用 XXXAsync 和 XXXCompleted 对,但我还没有看到任何关于如何命名返回任务的方法的标准。

我一直在使用 XXXTask:

Data GetData() 
Task<Data> GetDataTask()

但想知道是否开发了更标准的方法

APM uses BeginXXX/EndXX pairs and the Event-based Asynchronous Pattern (EAP) uses XXXAsync and XXXCompleted pairs, but I haven't seen anything standard on how to name methods that return a task.

I have been using XXXTask:

Data GetData() 
Task<Data> GetDataTask()

but was wondering if a more standard approach has developed

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

So要识趣 2024-09-11 12:24:26

我建议使用 ParallelExtensionsExtras 库中的模式,因为这是由最初制作 TPL 的同一团队完成的:)

链接

他们的模式似乎与您的模式相同:[SyncAction]Task for通过任务(返回)执行 SyncAction 异步的方法 - DownloadDataTask、SendTask 等。

I'd recommend using the patterns in the ParallelExtensionsExtras library since that's done by the same team that made the TPL in the first place :)

Link

Their pattern seems to be the same as yours: [SyncAction]Task for the method that does SyncAction async via a Task (which is returned) - DownloadDataTask, SendTask, etc.

—━☆沉默づ 2024-09-11 12:24:26

您可以考虑提供 Property 而不是 GetXXX -Method,这在 C# 中更为常见。然后你可以写

Task<Data> DataTask { get; set; } //auto-implemented

You may consider to provide a Property instead of a GetXXX-Method, which is more usual in C#. You could then write

Task<Data> DataTask { get; set; } //auto-implemented
究竟谁懂我的在乎 2024-09-11 12:24:25

对于 C# 5.0(带有 .NET 4.5),任务返回方法的命名约定是 XXXAsync。

如果已经存在具有此命名的方法(例如,在 WebClient 上已有一个实现 EAP 模式的 DownloadDataAsync 方法),则返回异步方法的任务应命名为 XXXTaskAsync。

For C# 5.0 (with .NET 4.5), the naming convention is XXXAsync for task returning methods.

If there already exists a method with this naming (for instance, on the WebClient already has a DownloadDataAsync method that implements the EAP pattern), then the Task returning async method should be named XXXTaskAsync.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文