我有一个方法返回接口IObservable< A> (在silverlight中)并希望将其转换为另一个IObservable< B>?
那么我需要代替’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; }
解决方法
就像在LINQ to Objects中一样,使用投影:
var observableB = observableA.Select(a => new B(a));
(显然,根据你的转换进行调整.)
这是假设我正确理解了这个问题. “执行第一个观察者的订阅时”的含义并不十分清楚.