标签: c# sorting collections observablecollection
我有一个知道如何与其他人比较的自定义类型(它实现了IComparable),它存储在ObservableList中很好。
然而,收藏中仍然缺少一些东西。我需要4个功能。一个集合:
我想知道如何制作这样的收藏品,我需要研究/实施的等等。我不是在寻找代码,但如果你能给它一个奖金。
我一直在考虑做什么:
继承ObservableCollection,覆盖add方法,检查该项是否已存在,是否忽略它。
或者
基于像List这样的更通用的类型实现我自己的可观察集合。
答案 0 :(得分:0)
由于您要防止重复插入并且想要排序,SortedSet可能是一个很好的起始位置。由于您需要通知,因此您必须扩展标准的SortedSet并实施INotifyCollectionChanged和INotifyPropertyChanged。有一个示例here和另一个here使用HashSet代替(这是无序的,但您可以轻松替换为SortedSet)。
INotifyCollectionChanged
INotifyPropertyChanged
HashSet
SortedSet
同样有效的替代方案是先与您同意并延长ObservableCollection。
ObservableCollection