3 回答

TA貢獻1795條經(jīng)驗 獲得超7個贊
是的:
Thread t = new Thread (new ParameterizedThreadStart(myMethod));
t.Start (myParameterObject);

TA貢獻1804條經(jīng)驗 獲得超7個贊
Thread構(gòu)造函數(shù)的2個重載之一使ParameterizedThreadStart委托成為可能,該委托使您可以將單個參數(shù)傳遞給start方法。不幸的是,盡管它只允許使用一個參數(shù),但這樣做并不安全,因為它將其作為對象傳遞。我發(fā)現(xiàn)使用lambda表達式捕獲相關(guān)參數(shù)并以強類型方式傳遞它們要容易得多。
嘗試以下
public Thread StartTheThread(SomeType param1, SomeOtherType param2) {
var t = new Thread(() => RealStart(param1, param2));
t.Start();
return t;
}
private static void RealStart(SomeType param1, SomeOtherType param2) {
...
}

TA貢獻1806條經(jīng)驗 獲得超5個贊
您可以使用lambda表達式
private void MyMethod(string param1,int param2)
{
//do stuff
}
Thread myNewThread = new Thread(() => MyMethod("param1",5));
myNewThread.Start();
到目前為止,這是我能找到的最佳答案,它既快速又容易。
- 3 回答
- 0 關(guān)注
- 404 瀏覽
添加回答
舉報