代码之家  ›  专栏  ›  技术社区  ›  Johannes Schacht

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

  •  1
  • Johannes Schacht  · 技术社区  · 10 年前

    我想覆盖 Add(MyType t) 对于派生自的类 ObservableCollection<MyType> 。但我无法覆盖“添加”。为什么?

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   15ee8f99-57ff-4f92-890c-b56153    10 年前

    保持ObservableCollection的私密性,并向公众公开这些项目 ReadOnlyObservableCollection 它反映了私人收藏中的项目。

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