2
在我的Rx代碼中,我使用GroupBy創建IObservable<IGroupedObservable<T>>
。從那裏我希望對IGroupedObservable進行一些轉換,同時保持關於組的知識(Key)。使用和維護IGroupedObservable
例如,
IObservable<IGroupedObservable<T>> CreateGroup(this IObservable<T> obs)
{
return obs.GroupBy(o => o.Something);
}
IGroupedObservable<A> Foo(this IGroupedObservable<T> obs)
{
return obs.Select(o => new A(o));
}
IGroupedObservable<B> Bar(this IGroupedObservable<A> obs)
{
return obs.Select(o => new B(o));
}
IObservable<IGroupedObservable<B>> stillGrouped = initialObservable.CreateGroup().Select(grouped => grouped.Foo().Bar());
當然,我不能這樣做,因爲在富的Select()
失去IGroupedObservable的煩躁。
有沒有人看到過這個解決方案?
編輯TLDR我試圖撰寫依賴於可觀察已被分組操作,和我喜歡的類型系統來執行這對我來說。我想我可以讓這些操作採用組Key,並在前面執行一個Where Key,但是這樣會變得越來越混亂。
是啊,這第一個選擇可能就是我會去。我希望[rxx](http://rxx.codeplex.com/)或其他一些庫可以創建這些擴展:(。 – Anthony