【发布时间】:2015-02-19 09:12:19
【问题描述】:
鉴于我无法将对象的类型更改为 observablecollection,我想观察 Icollection 对象的变化。如何实现?
mycollectionobserver = Observable.FromEventPattern<NotifyCollectionChangedEventArgs> (source.IcollectionItems, "CollectionChanged").Subscribe(OnItemsChanged);
【问题讨论】:
-
我使用了类型转换:mycollectionobserver = Observable.FromEventPattern
(source.IcollectionItems as INotifyCollectionChanged, "CollectionChanged").Subscribe(OnItemsChanged); -
ICollection<T>没有实现INotifyCollectionChanged,所以只要你使用as投射它,你就会得到null。 Peter 的回答非常正确——您需要实现一个包装类,但由于您无法更改类型,那么您就不走运了。
标签: c# system.reactive observer-pattern inotifycollectionchanged