C# 使用Task.Factory.FromAsync时向EndMethod传递额外参数

C# 使用Task.Factory.FromAsync时向EndMethod传递额外参数,c#,asynchronous,C#,Asynchronous,我正试图将一些遗留的APM代码包装成async/await。我在很多地方使用Task.Factory.fromsync方法都很成功。不幸的是,我的一个EndMethod有这个签名 EndXXXMethod(IAsyncResult asyncResult,out uint编号) 我找不到Task.Factory.FromAsync的重载,该重载可以将参数传递给EndMethod,而只能传递给BeginMethod。支持这种用法吗 支持这种用法吗 否。Task.Factory.fromsync仅支

我正试图将一些遗留的APM代码包装成async/await。我在很多地方使用Task.Factory.fromsync方法都很成功。不幸的是,我的一个EndMethod有这个签名

EndXXXMethod(IAsyncResult asyncResult,out uint编号)

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

支持这种用法吗

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


您需要回到更通用的
TaskCompletionSource

您可以使用TaskCompletionSource创建自己的包装器。