В .NET обычно не требуется для задания ссылки на переменную = Nothing
(null
в C #). Сборщик мусора будет убирать, в конце концов. Сама ссылка будет уничтожена, когда она выйдет из области видимости (либо когда ваш метод завершится, либо когда объект этого класса будет завершен). Обратите внимание, что это не означает, что объект уничтожен, просто ссылка к этому. Объект все еще будет недетерминированно уничтожен коллектором.
Тем не менее, установка вашей ссылки = Nothing
даст подсказку .NET, что объект может быть мусором и не обязательно повредит чему-либо - кроме беспорядка кода. Если бы вы держали его там, я бы порекомендовал удалить его из блока Try
; он уже находится в блоке Finally
и поэтому будет вызываться всегда. (За исключением некоторых катастрофических исключений; но в этих случаях он также не вызывался бы в блоке Try
!)
Наконец, я должен признать, что согласен с Грегом: ваш код был бы чище без этого. Подсказка к среде выполнения, которую вы сделали со ссылкой, хороша, но определенно не критична. Честно говоря, если бы я увидел это в обзоре кода, вероятно, разработчик переписал бы его так:
Dim a as Object
Dim i as Integer = 0
For i=1 to 5
a = new Object()
'Do stuff
Next