2011-02-15 75 views
6

我有一个类有一些长时间运行的方法,他们做数据库查询,检索对象列表,遍历它们并做一些IO工作。C#类的设计 - 事件和长时间运行的方法

应该如何接近这个类设计?

如果任务完成,我应该在我的课程中有OnComplete事件吗?

我确实想给消费者取消/中止的能力,所以当方法完成时只需报告就不够好。

最初我在我的UI代码中有一个BackgroundWorker(以及大部分的逻辑),但是我将逻辑分开,所以它都在单独的库中。

我正在考虑在类中添加背景工作,并且只是传递创建类似的事件,由后台工作人员提出。这是最好的方法吗?

+0

您可能需要等到Jon Skeet起床才能找到最好的答案。 – 2011-02-15 04:15:12

+0

乔恩斯基特可以明天睡觉;) – Josh 2011-02-15 04:39:25

回答