使用Task.Factory.FromAsync时将额外的参数传递给EndMethod

时间:2019-07-14 22:07:05

标签: c# asynchronous

我正在尝试将一些旧版APM代码包装到异步/等待中。我在许多地方都使用Task.Factory.FromAsync方法成功了。不幸的是,我的EndMethod之一具有签名

EndXXXMethod(IAsyncResult asyncResult, out uint number)

我找不到Task.Factory.FromAsync的重载,该重载可以将参数传递给EndMethod,只能传递BeginMethod。支持此用法吗?

1 个答案:

答案 0 :(得分:1)

  

是否支持此用法?

不。 Task.Factory.FromAsync仅支持完全遵循APM模式的方法。

您需要退回到更通用的TaskCompletionSource<T>