我想覆盖从Add(MyType t)
派生的类的ObservableCollection<MyType>
。但是我无法覆盖添加。为什么呢?
因此我添加了AddIem(MyType t)
并使用该功能,这很好用。但是我想阻止某人错误地使用Add
,所以我实现了Add(抛出异常)。但这并没有隐藏ObservableCollection的Add方法。知道为什么以及如何实现我的目标?
答案 0 :(得分:1)
保持您的ObservableCollection为私有,并使用公共ReadOnlyObservableCollection公开项目,这些项目反映了私有集合中的项目。
如果需要将专门的AddItem方法公开给其他类,可以使它成为viewmodel类的成员,或者可以将ReadOnlyObservableCollection子类化并将其放在那里。称之为MostlyReadOnlyObservableCollection。