VB.NET: Senden Mehrere Argumente Zu einem hintergrundworker

Ich bin versucht, einen BackgroundWorker ausführen von Aufgaben auf einem separaten thread.

Ich bin in der Lage, einen einzigen argument für die BackgroundWorker-Klasse wie folgt:

Senden argument der BackgroundWorker-Klasse:

Private Sub btnPerformTasks_Click(sender As System.Object, e As System.EventArgs) Handles btnPerformTasks.Click

    Dim strMyArgument as String = "Test"
    BW1.RunWorkerAsync(strMyArgument)

End Sub

Abrufen argument innerhalb der BackgroundWorker-Klasse:

Private Sub BW1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BW1.DoWork
    Dim strMyValue As String
    strMyValue = e.Argument  'Test
End Sub

Gibt es nur 2 überladene Methoden für RunWorkerAsync(). Einer, der keine Argumente entgegennimmt und einen, der nimmt ein argument.

Möchte ich wissen:

  1. Wie kann ich mehrere Werte übergeben zu BW1.RunWorkerAsync()
  2. Wie kann ich diese abrufen mehrerer Werte aus dem inneren BW1_DoWork
  • Ein argument ist genug, um ein Objekt übergeben, mit so vielen Eigenschaften, wie Sie benötigen. Schreiben Sie eine kleine helper-Klasse. Oder verwenden Sie einen lambda-Ausdruck.
  • Ich glaube, die Antwort, dass pacane vorausgesetzt, ist der helper-Klasse-Methode. Konnte Sie zeigen, wie die Verwendung eines lambda-Ausdrucks zu erreichen?
  • Die Frage ist ganz klar oben. Ich erreichen kann, was notwendig ist für die Frage der Verwendung der Methode der Klasse als beantwortet pacane. Ich wollte nur wissen, ob durch die Verwendung eines lambda-Ausdrucks, ich könnte das gleiche tun, effizienter.
InformationsquelleAutor slayernoah | 2014-03-20
Schreibe einen Kommentar