0
我有一類以下模式:閉包:分配一個字段到本地捕獲哪個值?
Foo m_currentFoo;
void ReplaceFooWithDelayedDestruction() {
Dispatcher.BeginInvoke(() => {
var oldFoo = m_currentFoo;
Destroy(oldFoo);
}
m_currentFoo = new Foo();
}
我的問題是,當執行拉姆達(ReplaceFoo ...返回之後大概),將oldFoo實際上是指對所傳的價值BeginInvoke,還是m_currentFoo的新值?
你實際上正在捕獲'this'。 – SLaks