如果我按如下方式创建新的ObservableCollection<T>
和CollectionChanged
侦听器:
var c = new ObservableCollection<MyType>();
c.CollectionChanged += new NotifyCollectionChangedEventHandler(h);
...
void h(object sender, NotifyCollectionChangedEventArgs e)
{
IList newItems = e.NewItems;
// non generic IList! :(
}
为什么e.NewItems
不是IList<MyType>
?
答案 0 :(得分:4)
ObservableCollection
旨在支持WPF等平台中的数据绑定方案,其中数据绑定控件不关心它们绑定的集合的类型。使通知通用只会使编写控件变得更加困难而不会带来任何好处。
答案 1 :(得分:1)
据推测,它可以用于非泛型集合以及ObservableCollection<T>