2013-04-01 13 views

Odpowiedz

8

Jeśli metoda ma powrócić Użyj wartości Func delegata inaczej można użyć Action delegata. np:

void Method1(string param) 
{ 
    // Some Code 
} 

void Method2(string param) 
{ 
    // Some Code 
} 

void RunInThread(Action<string> m) 
{ 
    //Run the method in a background thread 
} 

Następnie można wywołać RunInThread w ten sposób:

RunInThread(Method1); 
RunInThread(Method2); 
+0

Można dodać 2 sposoby, aby go uruchomić w osobnym wątku: 'm.BeginInvoke (" Hello ", null, null);' i 'Task.Factory.StartNew (() => m (" Hello "));' –

2

Lubię Task.Run Po prostu chcę trochę kodu, aby uruchomić w wątku tła. Wygląda nawet na to, że ma prawie taki sam podpis jak to, co próbujesz zdefiniować. Mnóstwo innych przeciążeń.

Task.Run(()=>{ 
     //background method code 
    }, TResult); 

MSDN documentation

Powiązane problemy