如何覆盖或隐藏ObservableCollection中的添加?

时间:2016-06-25 10:40:01

标签: c# wpf

我想覆盖从Add(MyType t)派生的类的ObservableCollection<MyType>。但是我无法覆盖添加。为什么呢?

因此我添加了AddIem(MyType t)并使用该功能,这很好用。但是我想阻止某人错误地使用Add,所以我实现了Add(抛出异常)。但这并没有隐藏ObservableCollection的Add方法。知道为什么以及如何实现我的目标?

1 个答案:

答案 0 :(得分:1)

保持您的ObservableCollection为私有,并使用公共ReadOnlyObservableCollection公开项目,这些项目反映了私有集合中的项目。

如果需要将专门的AddItem方法公开给其他类,可以使它成为viewmodel类的成员,或者可以将ReadOnlyObservableCollection子类化并将其放在那里。称之为MostlyReadOnlyObservableCollection。