В настоящее время я реализую интерфейс INotifyCollectionChanged для коллекции, как правило, с очень важными и недолговечными элементами. Все эти элементы реализуют IDispose, который можно вызвать немедленно до удаления из коллекции. У меня нет никакого контроля над порядком уничтожения, я просто должен принять его, когда он придет.
Теперь моя проблема в том, как распространять действия «Удалить». Конструктор NotifyCollectionChangedAction предоставляет вариант только с указанным действием, но у меня есть индекс удаленного элемента. К сожалению, нет перегрузки, принимая только индекс.
Так что, думаю, я мог бы:
- Только пройти действие «Удалить»
- Передайте действие удаления вместе с нулевым объектом и индексом
- Передайте действие удаления вместе с удаленным объектом и индексом
Кого из них вы бы предпочли? Я немного боюсь неправильной реализации такого «основного» интерфейса и, возможно, вызываю явно не связанные ошибки ...
Я не смог найти никаких указаний, что происходит с элементами, которые есть в списках «изменений», есть ли какие-либо доступные?
Sidenote: коллекция не будет немедленно связана с WPF, если это важно.