2016-09-26 39 views
0

我一直在使用Action作为我的异步方法的回调,并且我偶然发现了AsyncCallback我为什么要使用AsyncCallback?

我想知道是否应该将Action更改为AsyncCallback?会有什么区别吗?

+3

首先不要使用回调。返回一个“任务”。 – Servy

+0

是您的操作吗?如果是这样,它已经是一个AsyncCallback ... – tolanj

+0

从快速查看MSDN,AsyncCallback和Action是不相关的,这意味着AsyncCallback可以在Windows窗体应用程序中使用,例如,请参阅此页上的代码示例:https:// msdn .microsoft.com/EN-US /库/ system.asynccallback(v = vs.110)的.aspx。 .NET的最新版本有4.0,表明这个类是旧的。 – Neolisk

回答

3

AsyncCallback是使用IAsyncResult开始/结束异步模式时使用的旧代理。

除非您在异步代码中使用IAsyncResult,否则我不打扰它。

如果您使用的是使用Begin/End的东西,我会建议使用TaskFactory.FromAsync并将其转换为等待任务。