如何从 IObservable 转换为到 IObservable
我有一个返回接口 IObservable
(在 silverlight 中)的方法,并希望将其转换为另一个 IObservable
?
那么我需要用什么来代替“CONVERT_SOME_HOW”
public IObservable<Bar> Get(IEnumerable<object> @params)
{
IObservable<Foo> fooObservable = _resources.Get(@params);
IObservable<Bar> barObservable = CONVERT_SOME_HOW(fooObservable);
return barObservable;
}
I have a method which returns the interface IObservable<A>
(in silverlight) and wish to transforms this into another IObservable<B>
?
So what do I need to put in place of 'CONVERT_SOME_HOW'
public IObservable<Bar> Get(IEnumerable<object> @params)
{
IObservable<Foo> fooObservable = _resources.Get(@params);
IObservable<Bar> barObservable = CONVERT_SOME_HOW(fooObservable);
return barObservable;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
就像在 LINQ to Objects 中一样,使用投影:(
显然,根据您的转换进行调整。)
这是假设我正确理解问题。目前还不太清楚“当执行对第一个观察者的订阅时”的含义。
Just as you would in LINQ to Objects, use a projection:
(Obviously, adjust according to your conversion.)
That's assuming I understand the question correctly. It's not quite clear what you mean by "when the subscription to the first observer is executed".
正如 Jon 所建议的,如果您有从
A
到B
的转换,那么您可以使用Select
。但是,您也有可能从
A
转换为IObservable
,在这种情况下您可以使用 SelectMany:Just as Jon has suggested, if you have a conversion from
A
toB
, then you can useSelect
.However, there is also the possibility that you have a conversion from
A
toIObservable<B>
, in that case you can use SelectMany: