我想使用 BackgroundWorker 或 Thread 从我的 Windows 窗体中调用位于我的业务层中的类的方法。如果有人在听,我希望这个业务层中的方法能够报告它的进度,因为它可能需要一段时间才能完成。由于我可能从 BackgroundWorker 开始,然后决定使用常规线程,因此我不想与其中任何一个联系在一起。
如果方法不知道它是否被后台工作人员调用,那么报告其进度的最佳方法是什么?我正在考虑在我的业务层类上提供一个事件,如果有人在听,它可以发布它的进度。
框架中是否已经有一个代表?更好的是我可以实现的接口——比如 INotifyProgressChanged?