IDisposable полей?
Они инициализируются в конструкторе, но инициализация очередного поля может упасть, и надо аккуратно почистить всё что уже насоздавалось и перевыбросить исключение. Аналогично в методе Dispose - надо аккуратно всё закрыть, даже если кто-то не смог нормально закрыться и выбросил исключение. Как это можно красиво реализовать не оборачивая всё в горы try-catch?
Я бы использовал Lifetime, но из смежных паттернов следует вспомнить также CompositeDisposable.
Обсуждают сегодня