C# 可观察的自定义集合自排序可防止插入等
我有一个自定义类型,知道如何与其他类型进行比较(它实现了IComparable),它存储在ObservableList中,工作得非常好 然而,该系列仍有一些不足之处。我需要4个功能。一个集合:C# 可观察的自定义集合自排序可防止插入等,c#,sorting,collections,observablecollection,C#,Sorting,Collections,Observablecollection,我有一个自定义类型,知道如何与其他类型进行比较(它实现了IComparable),它存储在ObservableList中,工作得非常好 然而,该系列仍有一些不足之处。我需要4个功能。一个集合: 检测重复项并防止插入 在每次成功插入时自动排序 可观察到& 如果插入了项目批次,则仅在批次插入后通知 插入 我想就如何使这样一个集合,我将需要研究/实现等提示。我不是在寻找代码,但如果你可以给它一个奖金 我想做的是: 继承自ObservaleCollection,重写add方法,检查该项是否已存在,如果已
基于更通用的类型(如列表)实现我自己的可观察集合。因为您希望防止重复插入,并且希望排序,所以a可能是一个很好的起点。由于需要通知,因此必须扩展标准SortedSet并实现
INotifyCollectionChanged
和INotifyPropertyChanged
。有一个示例和另一个示例使用了HashSet
(它是无序的,但您可以轻松地用SortedSet
替换)
另一个同样有效的方法是,按照您的第一个建议,扩展
observedcollection
observedcollection
与列表一样是“通用的”。如果您希望您的收藏实现INotifyCollectionChanged
,则没有理由不使用它。我认为你应该不断发展你的第一个想法。