我目前正在为一个集合实现 INotifyCollectionChanged 接口,该集合通常具有非常关键和短暂的项目。所有这些项目都实现了 IDispose,可以在从集合中删除之前立即调用它。我对销毁命令没有任何控制权,我只能顺其自然。
我现在的麻烦是,如何传播“删除”操作。NotifyCollectionChangedAction 构造函数确实提供了一个仅指定操作的变体,但我确实有已删除项目的索引。可悲的是,没有仅采用索引的重载。
所以我想我可以:
- 仅通过“删除”操作
- 将删除操作与“空”对象和索引一起传递
- 将删除操作与已处置的对象和索引一起传递
你更喜欢其中的哪一个?我有点害怕错误地实现这样一个“核心”接口,并可能导致不明显相关的错误......
我找不到任何指南,“更改”列表中的项目会发生什么,有可用的吗?
旁注:如果这很重要,该集合不会立即绑定到 WPF。