我想從線程中調用一個名爲UpdateResults()
的非靜態方法。這是我的代碼:不能使用非靜態方法的線程
class Live
{
Thread scheduler = new Thread(UpdateResults);
public Live()
{
scheduler.Start();
}
public void UpdateResults()
{
//do some stuff
}
}
,但我得到這個錯誤:
A field initializer can not refer to the property, method or non-static field 'Live.UpdateResults()'
我怎樣才能解決這個問題?
只是一個問題:在'線程調度;'我得到'場 'LiveScore.scheduler' 分配,但它的價值是永遠使用',只是一個警報。 – Dillinger
因爲您只在構造函數中使用私有字段。如果你不想在另一個方法中使用這個變量,那麼你最好使它在構造函數中是局部的。當你從另一個方法引用變量時,錯誤將消失 –