C# 5.0 中的异步泛型委托
使用迭代器,可以使用以下通用委托:
public delegate IEnumerable<TOut> MyDelegate<TIn>(TIn param1);
使用 C# 5.0 CTP 中的新 async/await,我希望能够创建类似的委托,如下所示:
public delegate async TOut MyDelegate<TIn>(TIn param1);
我找不到 C# 5.0 规范或这方面的任何帮助。有谁知道如何写或者不能写以及为什么?
谢谢!
With Iterators, the following generic delegate is possible:
public delegate IEnumerable<TOut> MyDelegate<TIn>(TIn param1);
With the new async/await in C# 5.0 CTP, I expect to be able to create the analogous delegate as follows:
public delegate async TOut MyDelegate<TIn>(TIn param1);
I can't find the C# 5.0 spec or any help in this regard. Anyone know how this can be written or if it can't be written and why?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
async
是一个实现细节,而不是接口规范。async
委托没有意义。任何返回“awaitable”的方法(例如
Task
或Task
)都可以与await
一起使用。因此,“异步委托”可以是返回
Task
或Task
(或任何其他类型的可等待)的委托类型。在你的情况下:async
is an implementation detail, not an interface specification. Anasync
delegate doesn't make sense.Any method that returns an "awaitable" (such as
Task
orTask<T>
) can be used withawait
.So an "asynchronous delegate" would be any delegate type that returns
Task
orTask<T>
(or any other kind of awaitable). In your case: