通常,當我想取消在C#中的BackgroundWorker的,我會做這樣的事情:C#BackgroundWorker的取消與助手功能
while (backgroundWorker1.IsBusy)
{
backgroundWorker1.CancelAsync();
autoResetEvent1.WaitOne(BGW_CANCEL_TIMEOUT);
}
在一個應用中有許多backgroundWorkers的。使用輔助函數取消背景工作人員是否有效?
CancelBackgroundWorker(BackgroundWorker bgw, AutoResetEvent are)
{
while (bgw.IsBusy)
{
bgw.CancelAsync();
are.WaitOne(BGW_CANCEL_TIMEOUT);
}
}
我擔心的是,不是將有問題的對象傳遞到函數中,而是進行復制,從而破壞了具有函數的目的。具有該功能的主要目的是減少代碼空間並使應用程序代碼更具可讀性/可維護性。
就是這樣!謝謝! – 2010-07-12 20:09:47