Здравствуйте, Fortnum, Вы писали:
F>Предположим, есть некий класс A, у которого 2 поля типа FileStream, каким-то образом инициализируются. Если для внутреннего употребления надо сделать так, чтобы эти FileStream'ы в определенном порядке деинициализировались, я правильно понимаю, что шаблон Dispose будет ошибочным вариантом, т.к. в момент исполнения A.Dispose эти FileStream'ы уже могут быть закрыты GC?
Вы путаете Dispose и Finalize. GC знает только про Finalize. Шаблон Dispose — это реализация IDisposable и использование в нем финализатора в большинстве случаев неправильно.
F>Как лучше сделать для своего внутреннего употребления?
Для внутреннего применения лучше следить за созданными A и своевременно вызывать Dispose.
Если будет спокойнее то и A.List<FileStream> тоже мало чего гарантирует
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.