既存のフレームワークを使用する場合、通常は元の開発者によって追加された拡張ポイントであるアクションを実行しないアクションデリゲートを渡す必要がある場合があります。例:
var anObject = new Foo(() => { });
そしておそらく、Fooオブジェクトはいつかこのデリゲートを呼び出すでしょう。ここでの私の目標は、{}の使用を排除することです。これは、私のスタイルでは{}を単独で、行を分離する必要があることを示しているためです。私は少しOCDであり、必要がない場合は冗長になるのが嫌いです。
値を返すアクションを処理する場合、これは十分に単純です。ステートメントの代わりに式を指定できます(したがって、中括弧は削除されます)。例:
var anObject = new Foo(() => string.Empty);
だから、質問は2つの部分だと思います...
.NETには、デフォルトの空のアクションがありますか?{}以外に、ラムダに空の式を提供するためのシンタックスシュガーはありますか?
私が傾倒している現在の解決策は、関数呼び出し内でラムダ式を使用する必要がないように、前の割り当てでデリゲートを定義することです。