public void Run() { // 在這裡開始進行執行緒所要處理的工作 int sum = 0; for (int i = 0; i < 傳遞的參數1; i++) { for (int j = 0; j < 傳遞的參數2; j++) { sum += j; } } Thread.Sleep(2000); // 表示接下來的工作,需要花費 2 秒鐘 if (On執行緒完成 != null) { // 定義要回報的工作結果,並且將計算結果回報回去 執行完成後回報結果Args foo執行完成後回報結果Args = new 執行完成後回報結果Args { 計算結果 = sum, }; // 執行 執行緒 執行完成後,需要委派的方法,也回報執行結果 On執行緒完成(this, foo執行完成後回報結果Args); } }
static void 執行緒完成事件方法(object sender, EventArgs e) { #region 取得執行緒計算完成結果 執行完成後回報結果Args foo執行完成後回報結果Args = e as 執行完成後回報結果Args; Console.WriteLine("執行緒計算結果為{0}", foo執行完成後回報結果Args.計算結果); #endregion }