有什么方法可以创建 "push" IObservable 吗?

Is there any way to create a "push" IObservable?

ReactiveUI 有很多不同的方法可以从现有来源创建 IObservable,例如另一个 IObservableIEnumerableevent 等,但是据我所知,它实际上没有任何方法可以起源,你会认为这应该是最简单的情况!

很明显,应该有一种内置的方法来创建实现 IObservable<T> 的对象,使用某种 SetNewValue(T value) 方法,您可以调用该方法将新值推送到所有订阅者。但我没有在文档或 Intellisense 中看到它。

我知道这可以通过 Observable.FromEvent 来解决,但这感觉像是一个 hack。我不是在寻找 event;我在找对象。我错过了什么吗?这是否存在,我只是不知道要寻找什么,或者 FromEvent 解决方法是我能找到的最好的方法吗?

这称为 Subject(或其他语言的 Rx 实现中的 PublishSubject),它完全符合您的描述!