void を返す代わりに、特定のセマンティックな意味がなくても、クラスへの参照を返したとします。メソッドの呼び出し方法についてより多くのオプションを提供し、流暢なインターフェースのようなスタイルで使用できるように思われます。何もする必要がないので、デメリットは特に考えられません。戻り値で(それを保存することさえ)。
オブジェクトを更新してから現在の値を返したい状況にあるとします。と言う代わりに
myObj.Update();
var val = myObj.GetCurrentValue();
2行を組み合わせて言うことができます
var val = myObj.Update().GetCurrentValue();
編集: 私は気まぐれに以下を尋ねました。振り返ってみると、それは不必要で複雑になる可能性が高いことに同意しますが、無効ではなくこれを返すことに関する私の質問は立っています.
関連するメモとして、言語に新しい構文糖衣を含めることについてどう思いますか。
var val = myObj.Update()<.GetCurrentValue();
この演算子の優先順位は低いため、myObj.Update() が最初に実行され、次に Update の void リターンの代わりに myObj で GetCurrentValue() が呼び出されます。
基本的に、「左側の最初の有効なオブジェクトの演算子の右側にあるメソッドを呼び出す」という演算子を想像しています。何かご意見は?