私は Caliburn.Micro の Coroutine/IResult 実装が大好きで、ビューで実行されるいくつかのアクションを制御する MVVM ロジックを持つことができます。
ただし、イベントアグリゲーターからのメッセージを処理するときに同じアプローチを使用する必要性に直面しています。私のビューモデルは IResult を実装しています。これにより、次のメソッドが生成されます。
public void Handle(T message) { ... }
IResult または IEnumerable を返すようにメソッドを変更しようとしましたが、もちろん、インターフェイスに従っていないため、コンパイルできません..
現在、必要な IResults のリストを作成してから呼び出すアプローチを使用しています
Caliburn.Micro.Coroutine.BeginExecute(routines.GetEnumerator())
しかし、私はその解決策が好きではなく、実行が実行されているスレッドがわかりません。また、ルーチンにコンテキストはありませんが、メッセージはどこからでも来る可能性があるため、コンテキストが難しい可能性があることは理解しています. ただし、ビューモデルがViewAwareの場合、コンテキストを取得できますか?
Handle 実装のコンテキストで他の人は何をしましたか? 経験はありますか?
いくつかのクールなソリューションを期待しています!