【发布时间】:2014-03-06 16:53:52
【问题描述】:
我在课堂上有以下模式:
Foo m_currentFoo;
void ReplaceFooWithDelayedDestruction() {
Dispatcher.BeginInvoke(() => {
var oldFoo = m_currentFoo;
Destroy(oldFoo);
}
m_currentFoo = new Foo();
}
我的问题是,当 lambda 被执行时(大概是在 ReplaceFoo... 返回之后),oldFoo 到底是指在 BeginInvoke 上传入的值,还是指 m_currentFoo 的新值?
【问题讨论】:
-
你实际上是在捕获
this。