【发布时间】:2013-12-05 17:52:24
【问题描述】:
我发现自己经常想使用Publish().RefCount() 来“保护我的资源”。
例如,将一些传入的 IObservable json 翻译成两个 IObservable 属性时:
var anon = source.Select(TranslateToAnonObject);
this.Xs = anon.Select(GetXFromAnonObject);
this.Ys = anon.Select(GetYFromAnonObject);
为了避免执行两次翻译,我很想在匿名定义后面加上Publish().RefCount()。
两个属性值也是一样的,以避免为每个订阅者单独执行Get.. 函数。
问题是,它已经到了我无法真正看到许多我不想想要的情况的地步。但如果这是正确的,它肯定会成为 Rx 的默认设置。我在想什么?
(想:是不是因为我几乎只在使用“热”的 observables?)
【问题讨论】:
标签: c# system.reactive