【发布时间】:2013-01-07 14:35:53
【问题描述】:
我想通过实现一个扩展方法使一个数组可以等待
public static IAwaitable GetAwaiter(this mytype[] t)
{
return t.First().GetAwaiter();
}
但即使 IntelliSense 说“(等待)mytype[]”,编译器在使用时也会给我一个错误
mytype[] t = new mytype[] { new mytype(), new mytype() };
await t;
在 mytype 的单个对象上调用 await 可以正常工作。这是为什么?难道我做错了什么?感谢您的帮助。
【问题讨论】:
-
await 用于异步调用,你为什么将它与类型一起使用?
-
你遇到了什么错误?
-
顺便说一句:使用
TaskCompletionSource<T>似乎比自己实现一个等待类更好:stackoverflow.com/questions/6731815/… -
不幸的是,错误消息只是“无法等待'mytyope []'”。感谢您指点我
TaskCompletionSource<T>,但有特殊要求... -
@prthrokz 他可能正在关注this example。
标签: c# async-await