我已经开始研究反应式扩展,我想知道如何做以下事情(我尽量保持简单):
有一个字符串列表(或任何其他类型)
当一个项目被添加到上述列表中时,对它做一些事情。
我已经开始研究反应式扩展,我想知道如何做以下事情(我尽量保持简单):
有一个字符串列表(或任何其他类型)
当一个项目被添加到上述列表中时,对它做一些事情。
你不能用现有的List<String>
类来做到这一点——它不提供通知,而且 Reactive Extensions 对此也无能为力。
你可能想看看ObservableCollection<T>
。
获取ReactiveUI,然后您可以使用 ReactiveCollection 类 - 然后您可以使用 ItemsAdded Observable。
ReactiveCollection<int> someCollection;
someCollection.ItemsAdded
.Where(x => x > 100)
.Subscribe(x => Console.WriteLine("Whoa! A big item was added!"));
如果你有一个List<T>
,或者真的有任何实现的集合,IEnumerable
那么 Rx 不是答案。但是,如果您有一系列项目,其中一些还不存在,那么无论如何,Rx 是一个很好的解决方案。