2011-04-04 118 views
1

如果我有一组我想根据一定的条件在后台工作运行的行为和我有10个条件,例如后台工作

if(a) 
    BackgroundWorker doA = new backgroundworker() 
if(b) 
    BackgroundWorker doB = new backgroundworker() 
if(c) 
    BackgroundWorker doC = new backgroundworker() 
if(d) 
    BackgroundWorker doD = new backgroundworker() 
... 
... 

每个那些背景的工人将需要DoWork的, runworkercompleted等....有无论如何避免这样做,所以它使得代码不那么混乱,因为其中一些方法可能相当大?

感谢

回答

3

您应该使用TaskSystem.Threading.Tasks命名空间,相反,它是非常简单和易于使用。

要开始一个任务,您可以简单地使用:Task.Factory.StartNew()传递一个方法或一个lambda表达式作为参数。你可以得到一个Task对象,你可以继续使用,得到结果等等。

0

你为什么不中,需要评估的BackgroundWorker的和BackgroundWorker的可以用它来决定做什么对象传递?