![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Prehistorik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 30.5.2006 Где: СПб Репутация: 2 Всего: 3 |
Соответственно два вопроса... И если есть более подробное объяснение работы инструкции using чем в МэСэДэЭне... То буду благодарен )) --------------------
Есть только один бог - Ассемблер, и С - пророк его. |
|||
|
||||
| ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Prehistorik, Void моного раз постил про using. Поищи, плиз.
Все зависит от того, насколько правильно в классе определен деструктор-финализатор -- Finalize().
Метод finalize все равно будет вызван. Твой код соответствует коду:
Вроде так Это сообщение отредактировал(а) ivashkanet - 14.8.2006, 14:04 |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
При любом выходе за пределы using-а (в т.ч. при генерации исключения) происходит вызов cnn.Dispose; это в свою очередь ведёт к проверке, закрыто ли соединение - и если не закрыто, то к вызову cnn.Close().
Если выход из using-а нормальный - то после Dispose() cnn помечается как неиспользуемый, т.к. ссылок на него больше нет (он объявлен в области видимости using-а), и сборщик мусора заметёт его при следующей сборке. Если выход - по исключению, то происходит то же самое. Кстати, директива using не съедает исключений (если кто-нибудь не знает), т.е. не обрабатывает их сама. Добавлено @ 14:01 Метод Finalize() aka деструктор будет вызван при сборке мусора. Добавлено @ 14:03 ivashkanet, обрати внимание, что твой код ест исключения
И повторюсь, не Finalize(), а Dispose(). -------------------- ![]() |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
mr.DUDA, вы как всегда правы сэр
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
З.Ы. матчасть читать надо почаще, хотя бы ту книжку что закреплена в теме выше -------------------- ![]() |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
|
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
а так короче
а так логичнее -------------------- ![]() |
||||
|
|||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Все не буду больше давать поспешных решений
|
|||
|
||||
| Prehistorik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 30.5.2006 Где: СПб Репутация: 2 Всего: 3 |
ivashkanet,
mr.DUDA, респект и уважуха. Спасибо за разъяснения. --------------------
Есть только один бог - Ассемблер, и С - пророк его. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |