【发布时间】:2013-02-01 20:21:06
【问题描述】:
如果我有一个带有回调的异步方法
MyMethodAsync( <Input Parameters ...>, Callback);
我怎样才能让它等待?
[此方法适用于 windows phone 7,但应该同样适用于任何类似的 c# 构造]
DNSEndpoint Endpoint = ...
NameResolutionCallback Callback = (nrr) => { ... }
DeviceNetworkInformation.ResolveHostNameAsync(Enpoint, Callback, null);
我想在此调用周围放置一个可等待的包装器,因此我等待回调完成,然后再继续执行下一个命令。
【问题讨论】:
-
在可移植类库或 .NET 4.5 中,您可以使用 TaskFactory.FromAsync (msdn.microsoft.com/en-us/library/dd321469.aspx) - 我不知道 WP7 的简单等价物。可能有一个具有等效功能的支持库。
-
我认为 FromAsync 仅适用于定义为 BeginXXX、EndXXX 对的方法?
-
有各种 FromAsync 重载。我可能没有链接到最合适的链接。
-
@JonSkeet:你能链接到正确的重载吗?据我所见,所有重载都需要
IAsyncResult- OP 没有。我错过了什么吗? -
看看这个问题的答案:General purpose FromEvent method。这不是您要找的东西,但可能有用。
标签: c# async-await