Rx:从具有不同类型的可观察对象创建后续可观察对象(链接观察者)

Rx: Create a subsequent observable from an observable with a different type (Chaining observers)

我们遇到这样一种情况,即对服务的方法调用 returns 一个 IObservable<T1> 但我们的客户期望一个 IObservable<T2>。将 T1 转换为 T2 很简单。

Rx 中是否有允许这样做的东西? (即链接观察者)

我知道我可以手动创建一个辅助观察者,然后监听原始观察者的变化并使用新类型转发它们,但想知道是否有更简洁的方法来做到这一点?

非常感谢,

您可以使用 Select

IObservable<T1> 转换为 IObservable<T2>
IObservable<T2> stream = service.MethodCall().Select( TrivialConversion );

private T2 TrivialConversion( T1 param )
{
    return new T2( param );
}