SORU
26 Ocak 2011, ÇARŞAMBA


Arka Plan Worker (İşçi) Gönderen Argümanlar?

Hadi arka plan bir işçi için bir int parametre gönderilen etmek istiyorum ki, bu nasıl yapılabilir?

private void worker_DoWork(object sender, DoWorkEventArgs e) {

}

Bu işçi ne zaman olduğunu biliyorum.() RunWorkerAsync;, bir int parametre yapılmasına worker_DoWork tanımlamak için nasıl anlamıyorum.

CEVAP
26 Ocak 2011, ÇARŞAMBA


Şöyle başlıyor:

int value = 123;
bgw1.RunWorkerAsync(value);  // argument: value,  the int will be boxed

ve sonra

private void worker_DoWork(object sender, DoWorkEventArgs e) 
{
   int value = (int) e.Argument;   // the 'argument' parameter resurfaces here

   ...

   // and to transport a result back to the main thread
   double result = 0.1 * value;
   e.Result = result;
}


private void worker_Completed(object sender, RunWorkerCompletedEventArgs e) 
{
  // check error, check cancel, then use result
  if (e.Error != null)
  {
     // handle the error
  }
  else if (e.Cancelled)
  {
     // handle cancellation
  }
  else
  {          
      double result = (double) e.Result;
      // use it on the UI thread
  }
  // general cleanup code, runs when there was an error or not.
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • George McCarron

    George McCar

    29 Mayıs 2013
  • Kindness

    Kindness

    23 Ocak 2006
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009