iobservable パターンを使用して、一連のイベントを公開したいと考えています。問題は、ユニティを使用してオブザーバーとイベント ジェネレーターの両方を作成していることです。イベントのリッスンを開始できるように、アプリケーションの開始時にこれらの両方を新しくする必要はありません。これについて何か提案はありますか?
1 に答える
2
私のコメントへの返信を読んだ後(遅れて申し訳ありません、私のコメントを参照してください)、それを解決する2つの方法を考えることができます.
まず、まだ作成されていないソースIObservable
をラップする (つまり、サブスクライブする)へのサブスクライバー サブスクライバーを設定します。IObservable
このようにして、サブスクライバーはすぐにサブスクライブできますが、ソースが作成されるまで値は送信されません。
もう 1 つの選択肢は、 Prism (2.2、私は 4 をチェックアウトしていません) に同梱されるIObservable
フレーバー バージョンを作成することです。はブロードキャスト イベント システムとして機能します。これにより、どのコードでも、サブスクライブまたはパブリッシュできる を要求できます。あなたの場合、イベントは実装されます(つまり、 と の両方)。EventAggregator
EventAggregator
Event
ISubject
IObservable
IObserver
于 2010-09-26T09:06:05.430 に答える