2012-06-16 37 views
1

對於創建和啓動新線程在C#中,我們像下面:如何啓動方法帶參數的使用線程

using System.Threading; 

Thread thread = new Thread(new ThreadStart(WorkThreadFunction)); 
thread.Start(); 

public void WorkThreadFunction() 
{ 
    //Stuff Here 
} 

但對於與參數的方法。
對於這些方法,下面的代碼有錯誤。

using System.Threading; 

int a = 5; 
int b = 6; 
Thread thread = new Thread(new ThreadStart(WorkThreadFunction(a, b))); 
thread.Start(); 


public void WorkThreadFunction(int a, int b) 
{ 
    //Stuff Here 
} 

錯誤:

方法名稱預計

我需要將這些參數傳遞給方法!
解決方案是什麼?

由於事先

+0

可能重複http://stackoverflow.com/questions/1195896/c-sharp-threadstart-with-parameters) –

回答

4

使用用於包封的方法與參數調用lambda表達式:[C#的ThreadStart用參數(的

Thread thread = new Thread(new ThreadStart(() => WorkThreadFunction(a, b))); 
+0

你能否以其他方式展示我! – MoonLight

+0

'ParameterizedThreadStart'。請參閱Chris Gessler評論中的鏈接答案。 – Douglas

相關問題