2011-12-27 73 views
3

我試圖在.NET 1.1中實現BackgroundWorker(因爲沒有),我不太熟悉線程和委託。實現自定義BackgroundWorker

現在我有一個類調用BackgroundWorker與DoWork方法。我知道我必須在BackgroundWorker中創建一個線程並在該線程中執行一個委託,但有兩件事情我還沒有十分清楚。

  1. 如何在BackgroundWorker中啓動線程(如果DoWork接收到無參數委託)?或者我應該使用代表以外的其他方法嗎?

  2. 如何實現ProgressChanged事件?

+2

難道真的* *不是一種選擇升級到.NET 2.0(其中'BackgroundWorker' *不*存在)?就我所知,每個1.1平臺都支持.NET 2.0,所以你不會失去任何東西。 – 2011-12-27 15:18:57

+0

Nop,不是(就像我試過的那樣)。 – PedroC88 2011-12-27 15:20:58

+0

不要讓它成爲不升級的選項,如果他們想要該功能,那麼升級必須發生。 – cadrell0 2011-12-27 16:08:06

回答

3
+0

我一直在閱讀這篇文章,並且我似乎沒有在不屬於.NET-1.1部分的'DoWorkEventArgs'類中找到聲明和實現。 – PedroC88 2011-12-28 12:44:09

+1

它在文章中。 public class DoWorkEventArgs:CancleEventArgs { public bool Result {get; set;} public readonly object Argument; } – rene 2011-12-28 15:08:56

+0

對不起,我錯過了最後的列表... – PedroC88 2011-12-28 18:49:38