public static void Run() { Console.WriteLine($"{nameof(ObservableDemo)} Demo"); var observer = new HelloWorldObserver(); var helloWorldObservable = new HelloWorldObservable(); helloWorldObservable.Subscribe(observer); Console.WriteLine(); }
private void DoHelloWorld() { // IObservable<T>接口表示发送通知 (提供程序) IObservable <string> myObservable = Observable.Create((Func <IObserver <string>, IDisposable>)DoJobs); // IObserver<T>接口表示接收它们 (观察者) 的类。 IObserver <string> myObserver = new HelloWorldObserver(this); // 使用这个, 需要 NuGet 添加 System.Reactive.Windows.Forms ControlScheduler cs = new ControlScheduler(this); myObservable // 可观察对象线程,跑在新的线程上. .SubscribeOn(NewThreadScheduler.Default) // 观察者线程,跑到 WinForm 控件的线程上. .ObserveOn(cs) .Subscribe(myObserver); }