|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.10.2012, 10:55 | #11 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
19.10.2012, 12:31 | #12 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Смотрите, все просто.
увас в коде: Код:
чтобы этого не произошло надо защитить: Код:
но, из справки мы узнали (а мы это узнали, не правда ли?) что BinaryWriter имплементирует IDisposable, а следовательно его можно запихнуть в using, а using обеспечивает то, что на выходе из его области, не важно по какой причине, всегда вызывается метод Dispose. Все, праздник танцы и хороводы... PS: Dispose можно вызвать если явно привести к IDisposable. Последний раз редактировалось eval; 19.10.2012 в 12:36. |
20.10.2012, 15:43 | #13 |
Пользователь
Регистрация: 20.10.2012
Сообщений: 11
|
Вам правильно советуют, используйте конструкцию вида using (BinaryReader reader = new BinaryReader...
В этом случае, если где то в коде вылетит ексепшин, то ресурсы будут гарантированно освобождены и файл не подвиснет в заблокированном состоянии. |
24.10.2012, 09:39 | #14 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Теперь понял, что можно двумя равноправными способами написать:
Оператор using: Код:
Код:
Я понимаю, что ответ кроется в весии Framework'a. Где это явно увидеть в документации? Дайте ссылку, пожалуйста. Я не могу найти ответа. Код:
Последний раз редактировалось 8Observer8; 24.10.2012 в 09:50. |
24.10.2012, 10:39 | #15 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
http://msdn.microsoft.com/ru-ru/library/dd383502.aspx см. секцию супортед версий.
|
24.10.2012, 11:05 | #16 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Цитата:
Из первого моего сообщения: Код:
Последний раз редактировалось 8Observer8; 24.10.2012 в 11:10. |
|
24.10.2012, 11:11 | #17 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
ну так он тут во первых имеет другую сигнатуру, да и еще и защищен (protected)
protected virtual void Dispose(bool disposing) это в 4 сделали доп. метод, открытый. Вернее он и там тоже есть, только не открытый (poublic). да и скорее всего експлицит. Последний раз редактировалось eval; 24.10.2012 в 11:13. |
24.10.2012, 11:18 | #18 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Спасибо! Есть пища для размышлений, теперь буду переваривать
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Так уж пхп недоступен | Ципихович Эндрю | Свободное общение | 9 | 16.09.2012 14:00 |
не работает dispose | MYriad | Помощь студентам | 1 | 02.10.2011 14:19 |
Как обозначается NEW и DISPOSE в блоксхеме??? | Андрю)(@ | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.12.2008 21:15 |
Почему Dispose не освобождает память? | DeLorean | Общие вопросы Delphi | 4 | 08.04.2008 00:17 |