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