C# 使用System.Threading.Tasks.Task实现BackgroundWorker.ReportProges()

C# 使用System.Threading.Tasks.Task实现BackgroundWorker.ReportProges(),c#,.net-4.0,C#,.net 4.0,我们如何在BackgroundWorker类中实现ReportProgress的功能,以便线程使用Task类(在.NET 4.0中)将更新返回到主线程 我试图实现的是创建一个线程,该线程将监视很少的文件,并在更新这些文件时向主线程报告修改后的日期时间戳。您需要获取UI线程的同步上下文并调用Post,以便在UI线程上异步运行委托。您接受了吗查看classFileSystemWatcher?谢谢。但我正在寻找一个通用的解决方案,因为我的源代码可能会有所不同。实际上,我没有UI线程,因为我是从EXE生

我们如何在BackgroundWorker类中实现ReportProgress的功能,以便线程使用Task类(在.NET 4.0中)将更新返回到主线程


我试图实现的是创建一个线程,该线程将监视很少的文件,并在更新这些文件时向主线程报告修改后的日期时间戳。

您需要获取UI线程的
同步上下文
并调用
Post
,以便在UI线程上异步运行委托。

您接受了吗查看class
FileSystemWatcher
?谢谢。但我正在寻找一个通用的解决方案,因为我的源代码可能会有所不同。实际上,我没有UI线程,因为我是从EXE生成线程的。我试图实现与BackgroundWorker类类似的功能。使用非UI线程也能实现上述功能吗?@Thinkster:如果你没有UI线程,你需要创建一些机制来充当UI线程。(一个信息泵)@Thinkst-这就不成问题了。BackgroundWorker完全面向用户界面。好的。但是,除了创建消息泵之外,还有什么我可以尝试的吗?@Henk:是的,但正如我提到的,我正在尝试在非基于UI的线程中实现类似的功能。