Tom*_*ski 1 .net c# initialization winforms
我需要初始化一些对象,它可能需要一段时间,所以我想在一些后台线程中执行它.我还想显示progressBar,显示初始化的进度.
最优雅的方式是什么?
我在考虑一个界面:
interface ILoadable
{
int Progress { get; }
event EventHandler Loaded;
}
Run Code Online (Sandbox Code Playgroud)
为什么不直接使用BackgroundWorker?它提供了一个事件DoWork,ProgressChanged和RunWorkerCompleted.
这个(或一个薄的包装器)的优点是你可以自动为你自动处理线程,并且它经过了很好的测试.
如果你想围绕这个做一个包装器,我实际上建议你自己制作一个封装BackgroundWorker的抽象类,并让你为Action运行操作提供委托.
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |