[C#]Thread mit Parametern starten

lolcore

Mitglied
ich habe folgenden code:
[CODE lang="csharp" highlight="13"]private static void LineReadedRUN1(){
Console.WriteLine("IN LineReadedRUN1");
}

private static void LineReadedRUN2(String line){
Console.WriteLine("IN LineReadedRUN2 " + line);
}

public void NotifyLineObservers(String line){
foreach (LineObserver obs in this.lineObservers){
Thread t = new Thread(LineReadedRUN1);
t.Start();
t = new Thread(LineReadedRUN2(line)); // ######### Zeile 123 #############
t.Start();
}
}[/CODE]

und bekomme beim kompilieren folgende meldung:
Fehler beim Buildvorgang.

"c:\tests\MyProj.proj" (Standardziel) (1) ->
(Build Ziel) ->
lolcoreIRC1.cs(123,9): error CS1502: Die beste Übereinstimmung für die überladene 'System.Threading.Thread.Thread(System.Threading.ThreadSt
art)'-Methode hat einige ungültige Argumente. [c:\tests\MyProj.proj]
lolcoreIRC1.cs(123,20): error CS1503: Argument '1': Konvertierung von 'void' in 'System.Threading.ThreadStart' nicht möglich. [c:\tests\MyP
roj.proj]
werd da nicht schlau draus
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Wenn du verschachtelte Aufrufe hast, dann wird das Ergebnis des inneren Aufrufs als Parameter an den äußeren Aufruf gegeben.

Hier gibt der innere Aufruf aber nichts zurück, daher der Fehler.

Schau Dir die Dokumentation / Beispiel zur Klasse Thread einfach mal an. Da gibt es im Netz sehr viel - da muss ich jetzt nichts zusammen schreiben.
 

Neue Themen


Oben