.netObservableクラスを使用して単純な Observer パターンを実装しようとしています。次のようなコードがあります。
Observable.FromEventPattern<PropertyChangedEventArgs>(
Instance.User,
"PropertyChanged")
.Where(e => e.EventArgs.PropertyName == "FirstName")
.ObserveOn(Scheduler.ThreadPool)
.Subscribe(search => OnFirstNameChanged(search.EventArgs));
Observable.FromEventPattern<PropertyChangedEventArgs>(
Instance.User,
"PropertyChanged")
.Where(e => e.EventArgs.PropertyName == "LastName")
.ObserveOn(Scheduler.ThreadPool)
.Subscribe(search => OnLastNameChanged(search.EventArgs));
オブザーバーをバックグラウンド スレッドで実行したいのですが、すべてを同じバックグラウンド スレッドで実行したいと考えています (実際の実装では、すべてのリスナーを異なるスレッドで実行するのは複雑すぎます)。
つまりOnXXXChanged、UI スレッド以外のスレッドですべてのロジックを実行したいのですが、スレッドObservingプール全体ではなく、同じスレッドで正しい順序で実行されるようにしたいと考えています。
上記はどのように変更する必要がありますか?
また、多少関連するメモとして、Observableクラスを使用してこのパターンを実装する良いサンプル コード例はありますか?