次のコードがあるとします。
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
か?