具有多个具有不同过滤条件的观察者的可观测集合

时间:2018-06-24 15:19:51

标签: c# linq system.reactive

我想开发一个observablecollection,它可以有许多观察者,每个观察者都有自己的基于Linq的过滤条件。

我知道我可以轻松地手动为每个观察者创建一个过滤的可观察集合。但是我对一种优雅的设计方法更感兴趣,该方法可以使观察者抽象出来。

将根据对象属性从配置中加载每个观察者的

过滤条件。然后观察者应根据给定的过滤条件订阅主要集合中的对象更改。

我想以一种通用的方式编写此实现,以便它可用于任何对象及其集合。

此外,我想使用相同的过滤器来通知收集项本身的更改。因此,订户订阅的是元素的更改,而不是集合本身。仅在满足订阅过滤器的情况下,订阅者才会收到有关元素更改的通知。

例如: 我在订单列表中有一个订单对象集合。订阅者基于给定的基于LINQ的标准订阅我的收集类。每当集合中的任何对象被更新时,仅满足过滤条件的订户被通知。

0 个答案:

没有答案