2015-10-14 466 views
1

如果我有這樣的
沒有重載'匹配委託「System.Threading.ParameterizedThreadStart」

private void LoadModel(List<object> filenames) 
{ 
} 

的方法,並希望運行的線程這種方法我使這個

loadingThread = new ParameterizedThreadStart(LoadModel) 

但給我錯誤

如何解決這個問題?

No overload for 'LoadModel' matches delegate 'System.Threading.ParameterizedThreadStart'  

回答

3

此委託定義爲

public delegate void ParameterizedThreadStart(object obj) 

你必須改變你的方法聲明來匹配它:

private void LoadModel(object filenames) 

,並在法鑄造filenamesList

創建和啓動線程使用

Thread loadingThread = new Thread(LoadModel); 
loadingThread.Start(filenames); 

而是創建自己的線程,可以考慮使用TasksThreadPool

0

另一種方法來解決你的問題,讓你的方法還是有你想要的參數的類型是使用lambda表達式是這樣的:

Thread thread = new Thread(() => LoadModel(list)); 

哪裏list是你想要的參數值通過。

相關問題