voidを返すのではなく、特定の意味論的意味を持たなくても、クラスへの参照を返したとします。私には、メソッドがどのように呼び出されるかについてのより多くの選択肢があり、流暢なインターフェイスのようなスタイルで使用できるようになり、何もする必要がないので、何の不都合も本当に考えられないようです戻り値で(それを格納する)。voidの代わりにこれを返すのに不利な点はありますか?
オブジェクトを更新して現在の値を返す状況にいるとします。 の代わりに、あなたは
var val = myObj.Update().GetCurrentValue();
EDIT言って2行を結合することができるようになります
myObj.Update();
var val = myObj.GetCurrentValue();
を言って:を私は振り返ってみると、私はあることに同意し、気まぐれで以下を尋ねましたその不必要と複雑になる可能性がありますが、これを返すことについての私の質問は空白よりもむしろ立っています。関連ノートで
、あなたたちは言語を持っをどう思いますかシンタックスシュガーの新しいビットが含まれています
var val = myObj.Update()<.GetCurrentValue();
この演算子は、そうmyObj.Update(優先順位の低い順位を持っているでしょうが)を実行しますUpdateのvoid戻り値ではなく、myObjでGetCurrentValue()を呼び出します。
本質的には、「左側の最初の有効なオブジェクトのオペレータの右側でメソッドを呼び出す」と言う演算子を想像しています。何かご意見は?
smalltalk ftw、これはうまくいけばメソッドチェインを行うことはできませんが、 –