在我的後臺工作中,它需要調用另一個類的方法來帶出參數。從BackgroundWorker調用另一個類的方法BackgroundWorker
[1級]
public partial Class1 : Form
{
private void bw_DoWork(object sender, DoWorkEventArgs e)
{
DataGridView gv;
int param1, param2;
Class2 class2 = new Class2();
class2.method(gv, out param1, out param2);
}
}
[2級]
public Class2
{
public void method(DataGridView gv, out int param1, out int param2)
{
param1 = 0;
param2 = 0;
// basically grab the data in dataGridView and load into database
}
}
我應該如何正確地調用Class2.method
沒有錯誤Cross-thread operation not valid: 'class2' accessed from a thread other than the thread it was created
?
Class2是Windows窗體控件嗎? – Gjeltema 2013-04-29 01:09:26
不,Class2只是一個普通的類 – noobie 2013-04-29 01:11:25
肯定需要更多的信息。你可以發佈Class2代碼,什麼是param2和param3,以及方法有什麼作用?沒有內部原因,out參數會導致在其他線程上運行任何問題。您在那裏的代碼應該可以正常工作,假設沒有任何與任何窗體或用戶控件交互。 – Gjeltema 2013-04-29 01:15:00