Rx:使用不同类型的观察值创建后续可观察值(链接观察者)
问题描述:
我们遇到了方法调用服务返回IObservable<T1>
但我们的客户端期望IObservable<T2>
。将T1转换为T2是很简单的。Rx:使用不同类型的观察值创建后续可观察值(链接观察者)
Rx中有什么东西允许这个吗? (即链式观察员)
我知道我可以手动创建一个辅助观察者,然后听原始观察者的变化,并将它们转换为新类型,但想知道是否有更干净的方法来做到这一点?
非常感谢,
答
你可以投你IObservable<T1>
到IObservable<T2>
使用Select
IObservable<T2> stream = service.MethodCall().Select(TrivialConversion);
private T2 TrivialConversion(T1 param)
{
return new T2(param);
}
大谢谢。这很干净,很好。 – kha