Лучшие практики для обработки IDisposable

у меня есть иерархия классов, каждый член которой может создать объекты IDisposable.

я добавил свойство Списка к базовому классу в этой иерархии, к которой я добавляю любые доступные объекты на создании. Корень Располагает , метод выполняет итерации через этот список, и вызовы Располагают для каждого предмета в его списке, и очищает список. В приложении я явно звоню, верхний объект Располагают метод, заставляя распоряжение расположиться каскадом через иерархию.

Это работает, но является там лучшим путем? Разве я невольно копирую некоторую функциональность, уже существующую в рамке?

(Примечание - рассматриваемые объекты имеют время жизни, которое устраняет просто переносить их в использование блок или избавление от них в том же methodwhere, они создаются.)

Редактирование

Только для разъяснения - я только сохраняю те объекты вокруг этого, должен быть сохранен. От некоторых избавляются в том же методе, где они создаются, но многие используются таким способом, которым это не возможно.

12
задан 3Dave 4 September 2011 в 16:35
поделиться