【发布时间】:2010-07-28 19:54:40
【问题描述】:
是否有一种有效的方法来提供 Enumarable<SomeType> 或实现 INotifyCollectionChanged 但只能从提供类内部更改的集合。
以下示例说明了我的意思,但缺点是调用者可以将IEnumerable<SomeType> 转换回然后操纵我的内部集合,这是我真正不喜欢的:
public class DemoClass{
ObservableCollection<SomeType> m_collection=
new ObservableCollection<SomeType>();
public IEnumerable<SomeType> SomeTypeInstances{
get{return m_collection;}
}
private void AMethod(){
// Here I can work with m_collection
}
}
有没有一种简单的方法,也许是 ObservableCollection,或者是否有必要编写一个实现 IEnumerable<SomeType> 和 INotifyCollectionChanged 的包装器,然后将 collectionchanged-evnets 转发到目的地?
【问题讨论】: