【发布时间】:2014-04-03 22:35:23
【问题描述】:
我想为我的应用程序中的时间密集型任务引入一个 BackgroundWorker。 BackgroundWorker 应该在执行其中一项任务时更新我的状态条中的进度条。
一般实现没问题,只要时间密集型任务由我的表单类中的方法处理即可。
但我有一个如下所示的类:
public class JobFile
{
public string FullName { get; private set; }
public string FileName { get; private set; }
public string Extension { get; private set; }
public string Path { get; private set; }
public Icon Icon { get; private set; }
public DateTime Date { get; private set; }
public long Size { get; private set; }
public string MD5Hash { get; private set; }
...
public string getMD5Hash()
{
// Time intensive operation occurring
}
}
我想在我的 JobFile 对象中使用一个方法来执行计算,但我希望这个对象与我的 UI 异步通信,并更新它的进度条。
我怎样才能做到这一点?我是否需要在 JobFile 类中使用 BackgroundWorker?
这是我在异步事件中的第一步,我对自定义事件还不是很了解,所以请多多包涵!
谢谢你:)
【问题讨论】:
标签: c# asynchronous progress-bar md5 backgroundworker