私はwinformアプリケーションを持っており、次のような監視可能なセットアップがあります。
Form form = new Form();
Label lb = new Label();
form.Controls.Add(lb);
Observable.Interval(TimeSpan.FromSeconds(1))
.Subscribe(l => lb.Text = l.ToString());
Application.Run(form);
フォームを作成したメインスレッドでは実行されないため、これは機能しませんl => lb.Text = l.ToString()
が、このスレッドで実行する方法がわかりません。IObservable.SubscribeOn
どちらかIScheduler
を使用する必要があるとSynchronizationContext
思いますが、メインスレッドの同期コンテキストを取得する方法がわかりません。見つけたスケジューラーは、、、、、などの静的プロパティScheduler
のみScheduler.CurrentThread
でしImmediate
たNewThread
。どれもうまくいきませんでした。TaskPool
ThreadPool
私のRxバージョンは1.0.10621です。