假设我有以下代码:
void DoStuff( SomeClass withObject )
{
Action helper = () =>
{
withObject.RunHelper();
}
lock( withObject ) {
actuallyDoStuff( helper );
}
}
void actuallyDoStuff( Action action )
{
action();
}
你看,Action helper
代码在lock
. 我希望这Action
只是一个未命名的函数,因此调用它不会获得外部控制,lock
并且lock
会持续存在。
不过我不确定。
lock
控制在内部时会被释放还是持续存在Action helper
?