私はこの質問を読んでいて、この回答を読んでいました
これは実際には素晴らしい機能です。これにより、通常は非表示になっているもの、たとえばプライベートクラス変数にアクセスするクロージャを作成し、イベントなどへの応答として制御された方法で操作できるようになります。
変数のローカルコピーを作成し、それを使用することで、必要なものを非常に簡単にシミュレートできます。
この状況でLock()を実装する必要がありますか?
それはどのように見えるでしょうか?
Eric Lippertによると、コンパイラはコードを次のように見せます。
private class Locals
{
public int count;
public void Anonymous()
{
this.count++;
}
}
public Action Counter()
{
Locals locals = new Locals();
locals.count = 0;
Action counter = new Action(locals.Anonymous);
return counter;
}
ラムダと長い形式のコードはどのようになりますか?