我希望我用正確的術語使用匿名方法定義backgroundworker的RunWorkerCompleted?
什麼我的目標是這樣的(我知道它不工作的方式):
private bool someBool = false;
BackgroundWorker bg = new BackgroundWorker();
bg.DoWork += new DoWorkEventHandler(DoLengthyTask);
bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
()=>
{
someBool = true;
Logger.Info("Finished");
}
)
作爲RunWorkerCompletedEventHandler的重要組成部分,被定義在原始調用者的範圍內並且可以訪問調用者的變量。
這可能嗎?它會在someBool上產生可能的競爭條件嗎?
還有什麼訪問布爾?這對了解可能的競賽條件至關重要...... – 2009-02-27 11:13:38
主線程中的事物將訪問布爾值。 在這個(虛構的)例子中,記錄器中的某一行可能會在稍後添加。 – 2009-02-27 12:35:44