Commandと、その実行結果の紐づけが以下のように流れるようにさっくりと書ける。素敵すぎますよね!!
// LINQ Padで実行 // Commandの定義 var command = new ReactiveCommand(); var collection = default(ReactiveCollection<string>); collection = command .Do(_ => collection.Clear()) // コマンド実行時にコレクションの内容を一旦クリア .Select(_ => Enumerable.Range(1, 10).ToObservable()) // モデルからデータをとってきてるつもり .Switch() // フラットに .Select(i => string.Format("{0}歳", i)) // Viewでの表示用に加工してるつもり .ToReactiveCollection(); // 結果をコレクションに command.Execute(null); collection.Dump(); // LINQ Padのコンソールに表示するためのメソッド command.Execute(null); collection.Dump(); // LINQ Padのコンソールに表示するためのメソッド
こんな感じに書くだけでコマンドが実行された結果、データ(1〜10の値)をとってきて表示用に加工(〜歳)して、コレクションに追加というのが書けるっていいよねという感動を伝えたかっただけです。