Rx for .NET - Scheduler.Dispatcher发生了什么?

ira*_*ian 29 .net wpf design-patterns system.reactive observer-pattern

我正在努力完成关于PluralSight的Dan Sullivan的Rx Extensions培训课程.这是非常好的东西但不幸的是Rx似乎已经被改变了,尽管该课程仅在一个月前发布.

大多数变化都很容易解决(从三个dll变为单个dll,更改使用的命名空间等)但我很难理解我应该用什么来代替Dan的例子中的Scheduler.Dispatcher.我在调度程序中可用的属性中看不到任何明显的内容.

这是我正在尝试使用(重构的?)Rx库(当前稳定版本v1.0.10605)的代码

var query = from number in Enumerable.Range(1, 25) select StringWait(number.ToString());
var observableQuery = query.ToObservable(Scheduler.ThreadPool);
observableQuery.ObserveOn(Scheduler**.Dispatcher**).Subscribe(n => Results.AppendText(string.Format("{0}\n", n)));
Run Code Online (Sandbox Code Playgroud)

我应该使用什么来调用原始Dispatcher线程上的Observer代码(Results.AppendText)?

Ric*_*lay 42

DispatcherScheduler已被转移到System.Reactive.Windows.Threading装配.如果你正在使用NuGet,它就在Rx-WPF

  • 您可以将其更改为`ObserveOnDispatcher()`,这是在`System.Reactive.Windows.Threading`程序集中定义的扩展方法. (5认同)