Non solo ThreadStart
aspettarsi metodi vuoti, ma si aspettano anche loro di non prendere alcun argomento! Puoi avvolgerlo in un lambda, un delegato anonimo o una funzione statica denominata.
Ecco un modo per farlo:
string res = null;
Thread newThread = new Thread(() => {res = sayHello("world!");});
newThread.Start();
newThread.Join(1000);
Console.Writeline(res);
Ecco un altro sintassi:
Thread newThread = new Thread(delegate() {sayHello("world!");});
newThread.Start();
La terza sintassi (con una funzione denominata) è la più noiosa:
// Define a "wrapper" function
static void WrapSayHello() {
sayHello("world!);
}
// Call it from some other place
Thread newThread = new Thread(WrapSayHello);
newThread.Start();
E 'stato utile per me. Grazie. –
Non è stato possibile ottenere il valore restituito. Come si può usare il valore di ritorno? –
[ParameterizedThreadStart Delegato] (http://msdn.microsoft.com/en-us/library/system.threading.parameterizedthreadstart.aspx) –