2010-03-04 70 views
0

我想傳遞一個委託,返回類型爲ArrayList作爲線程的參數,並且還想將值存儲在ArrayList中。任何在這方面的幫助將不勝感激。在線程中傳遞void以外的返回類型的代理

+1

你不能這樣做,當線程結束時,沒有辦法獲得返回值。你能否告訴我們更多關於你想做什麼的事情,以便我們能給你真正的選擇? – 2010-03-04 11:02:06

+0

你能解釋更多嗎?你的問題很不清楚。 – 2010-03-04 11:06:48

回答

0

而不必返回值,你可以嘗試在其他參數通過引用傳遞的:

private class ThreadArguments 
{  
    public ArrayList List1 { get; set; } 
    public ArrayList List2 { get; set; } 

    public ThreadArguments(ArrayList list1, ref ArrayList list2) 
    { 
     this.List1 = list1; 
     this.List2 = list2; 
    } 
} 

Thread myThread = new Thread(new ParameterizedThreadStart(...)); 
myThread.Start(args); 

所以返回值被有效地列表2所取代。

+0

謝謝我用不同的方法解決了我的問題,而不是通過線程返回值。 – 2010-03-08 05:47:16

相關問題