Просматривая старый код VB.Net, я заметил странную модель, которая заставляет меня почесывать голову.Создание экземпляра объекта New Nothing
Dim objMyObject As Namespace.Child.ChildType = Nothing
objMyObject = New Namespace.Child.ChildType
(Там нет дополнительного кода между размерами и назначением.)
Похоже, предпочтительный стиль должен был бы сделать как на одной строке, либо пропустить = Nothing
. Как следует:
Dim objMyObject As Namespace.Child.ChildType = New Namespace.Child.ChildType
ИЛИ
Dim objMyObject As Namespace.Child.ChildType
objMyObject = New Namespace.Child.ChildType
ИЛИ, как это было предложено @helrich
Dim objMyObject As New Namespace.Child.ChildType
Есть ли конкретное значение, чтобы делать это таким образом, или это экземпляр оригинальный программист используется для VB6-способа делать что-то?
В VB6, размеров и инстанцировании переменной в одной строке было сочтено проблематичным, поскольку она будет повторно запустить создание экземпляра (при необходимости), когда переменная была доступна - фактически, переменная отрегулировано таким образом, никогда не могли быть проверены на Ничего, потому что новый экземпляр будет создан по требованию. Однако VB.Net не сохраняет это соглашение.
Или даже 'Dim objMyObject As New Namespace.Child.ChildType'. – helrich
Ничто не является нулевым, как вы, вероятно, знаете. Инициализация чего-либо Nothing и объявление переменной (ссылочного типа) без назначения - одно и то же. –
это может быть либо отражением * предпочтения * или * уровня * оригинального разработчика *. Если это «старый код VB.Net», возможно, вы не могли бы сделать это в очень ранних версиях (?) Или снова, они не знали, что могли. – Plutonix