有没有一种有效的方法来提供 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 转发到目的地?
最佳答案
关于c# - 如何提供实现 INotifyCollectionChanged 的只读集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3356896/