у меня есть иерархия классов, каждый член которой может создать объекты IDisposable
.
я добавил свойство
Списка к базовому классу в этой иерархии, к которой я добавляю любые доступные объекты на создании. Корень Располагает
, метод выполняет итерации через этот список, и вызовы Располагают
для каждого предмета в его списке, и очищает список. В приложении я явно звоню, верхний объект Располагают
метод, заставляя распоряжение расположиться каскадом через иерархию.
Это работает, но является там лучшим путем? Разве я невольно копирую некоторую функциональность, уже существующую в рамке?
(Примечание - рассматриваемые объекты имеют время жизни, которое устраняет просто переносить их в использование
блок или избавление от них в том же methodwhere, они создаются.)
Редактирование
Только для разъяснения - я только сохраняю те объекты вокруг этого, должен быть сохранен. От некоторых избавляются в том же методе, где они создаются, но многие используются таким способом, которым это не возможно.