У меня есть класс, который использует filestream. Он должен закрыть поток, когда приложение отключится, поэтому я делаю реализацию класса IDisposable.
Этот класс является членом другого класса, который является членом другого класса и т.д. Весь путь до моего основного приложения.
Должен ли я реализовать IDisposable в все этих классов?
Что делать, если я изменю свою реализацию файла в будущем, чтобы он закрывал файл после каждой записи? Теперь у меня есть целый набор классов, которые реализуют IDisposable без причины.
Я думаю, мне неудобно ломать IDisposable семантику в классы, которые не нуждаются в них, кроме небольшого небольшого пути реализации вниз по цепочке. Существуют ли какие-либо способы этого?