2009-06-07 22 views
1

Ich schreibe eine Klasse zum Verwalten meines Threads. Wie gebe ich meine Methode, die Threading benötigt, an meine Hilfsklasse weiter?C# - Wie übergebe ich einen Delegaten an eine andere Methode?

Alles, was ich tun werde, ist ein neuer Thread zu erstellen und die Methode, die ich übergeben habe, in eine neue ThreadStart() übergeben.

Vielen Dank im Voraus.

+1

Sie übergeben keine Lücke, Sie übergeben einen Delegierten. Die Definition des ThreadStart-Delegaten lautet: public delegate void ThreadStart(); – HVS

Antwort

3

Anstatt Ihre eigene Klasse zu schreiben, um Threading zu verwalten, empfehle ich Ihnen, die Klasse BackgroundWorker in .NET 2.0 abzufragen.

+0

Eigentlich könnte dies der beste Weg nach vorne sein, ich weiß nicht, was ich dachte! – GenericTypeTea

3

Ich bin mir nicht sicher, was Sie, indem void bedeuten, aber dies sollte helfen:

void StartThread(ThreadStart method) { 
    new Thread(method).Start(); 
} 

und nennen Sie es mit:

StartThread(myMethod); 
1

Sie eine Methode oder Funktion als Delegierter passieren kann in .NET

0
 public static void Iteration(Happy ending) { 
     Thread t = new Thread(new ThreadStart(ending)); 
     t.Start(); 
    } 

    public delegate void Happy(); 

in Ihrem Haupt:

Iteration(() => Console.WriteLine("Hello World")); 
Verwandte Themen