問題タブ [method-cascades]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# でのメソッド カスケードのシミュレーション
Dart プログラミング言語は、メソッド カスケードをサポートしています。メソッドのカスケードにより、次の Silverlight/WPF C# コードが可能になります。
代わりに次のように記述します。
私の質問は、C# でメソッド カスケードをシミュレートまたは近似する方法はありますか?
これが私が思いついた1つのアプローチです。この拡張メソッドを考えると:
上記の例は、次のように記述できます。
それが美しいとは言いません。:-) しかし、基本的に流暢なスタイルを適用できます。
dart - メソッドカスケードは dart でどのように機能しますか?
ダーツの記事で述べたように:
".." 構文は、メソッド (またはセッターまたはゲッター) を呼び出しますが、結果を破棄し、代わりに元のレシーバーを返します。
だから私はこれがうまくいくと思った:
これにより、呼び出すことができないというエラーが発生し.addAll
ましたnull
。
の結果でそれが呼び出されたので、明らかに.
先行するようです。..
.addAll
.clear()
これを書くには2つの可能性があると思います:
myList..clear()..addAll(otherList);
(myList..clear()).addAll(otherList);
(の結果を取得したい場合.addAll()
。
これは正しいです?.
はいの場合、なぜ優先する決定を下すのですか? それは非常に直感に反するようです。次のような構文を避けるためmyList(..clear().useResultOfClear()).addAll(otherList);
ですか?
dart - カスケードで最後のメソッドの戻り値を取得する方法はありますか?
私はこのようなことをしています:
これはの結果を返す必要がありtoString()
ますか? 現在、新しいA
オブジェクトを返しています。