这样的事情:
void SomeFunc()
{
int InsideVar = 1;
EventHandler handler = (s, e) => { MessageBox.Show(InsideVar.ToString()); };
SomeEvent += handler;
}
然后在SomeFunc执行后调用SomeEvent。我实际上测试了它并且它工作但不能理解为什么。我认为InsideVar会在堆栈上并在执行函数后停止存在。我期待一个例外。有人可以澄清这个吗?