отменить исключение фонового рабочего в e.result

У меня серьезная проблема с фоновым исполнителем. код работает, если задача заканчивается обычным образом. когда я отменяю фоновую задачу, я получаю исключение system.invalidoperationexception в функции RunWorkerCompleted для e.Result. что случилось? Спасибо.

вот моя треска:

private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
  if (backgroundWorker.CancellationPending == true)
    e.Cancel = true;
  e.Result = resultList;
}


private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
  if (e.Error != null)
    List<Object> resultList = (List<Object>)e.Result;
} 
5
задан skaffman 28 November 2011 в 19:19
поделиться