我正在尝试使用 .netObservable
类实现一个简单的观察者模式。我的代码如下所示:
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
该类来实现此模式的好的示例代码示例?