.Dispose -> Using -> ... DisposableAttribute

Sebas personal blog.

Модератор: Sebas

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

.Dispose -> Using -> ... DisposableAttribute

Сообщение Sebas » 23.05.2006 (Вт) 14:37

Если раньше (2003) для закрытие ресурсов я использовал вот такую конструкцию

Код: Выделить всё


Dim Obj as myObject

Try
   Obj=New myObject
Catch

Finally
   If Not Obj Is Nothing Then
      Obj.Dispose
   End if
End Try



В 2005 я могу упростить это так, причём неиспользуя Try вообще

Код: Выделить всё


Using Obj as myObject = new myObject
   ....
End Using



Всё здорово, но всё равно лишний код. И тут я подумал, а почему бы не сделать аттрибут для объектной переменной, который говорил бы о том, что если ссылка вышла за зону видимости, то даёшь Dispose?

Вот так:
Код: Выделить всё


Do
   <DisposableAttribute>Dim Obj as myObject

Loop Until True'после этого вызывается Dispose



Какие есть за и против?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 23.05.2006 (Вт) 14:59

однако приятная штука!
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Sebas

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList