Я редко использую структуру для вещей. Но это - просто я. Это зависит, нужен ли мне объект быть nullable или нет.
, Как указано в других ответах, я использую классы для реальных объектов. У меня также есть мышление структур, используются для хранения небольших объемов данных.
Я думаю, что печальная правда в том, что вы не можете. Пространства имен добавляются к корневому пространству имен. В документации нет никаких намеков на какие-либо механизмы экранирования. Есть примечание об использовании ключевого слова Global
по отношению к пространствам имен, но я интерпретирую эту часть текста как обсуждение того, как ссылаться на пространства имен, а не как их объявлять.
Обратите внимание на этот вопрос: Можно ли переопределить корневое пространство имен VB.NET? .
Суть в том, что единственный вариант - оставить пространство имен по умолчанию пустым в свойствах проекта, а затем заключить все определения классов / модулей в операторы пространства имен.
В свойствах проекта VB вы можете изменить корневое пространство имен. По умолчанию это то же самое, что и имя проекта, но вы можете удалить его, и тогда у вас будет полная мощь структуры пространства имен в коде. Недостатком является то, что вы должны указывать имя проекта как пространство имен везде в коде, где оно вам нужно ...
Для проектов C # аналогичная настройка в свойствах проекта - это только пространство имен по умолчанию, которое переопределяется, если вы укажите пространство имен в коде. Для проектов VB он определяет пространство имен верхнего уровня, а не значение по умолчанию ....
Установка пространства имен в VB.NET почти то же самое, что объявление пространства имен в C #, только с синтаксисом VB.NET! К сожалению, корневое пространство имен присутствует всегда, поэтому любые новые объявленные пространства имен будут находиться внутри корневого пространства имен.
Namespace ConsoleApplication1
Class Program
Private Shared Sub Main(ByVal args As String())
Dim mc As New System.Text.MyCustom()
End Sub
End Class
End Namespace
Namespace System.Text
Public Class MyCustom
End Class
End Namespace
Приведенный выше код даст вам следующее, если корневое пространство имен будет Test
.
Test.ConsoleApplication1
Test.System.Text
Приветствую вас за комментарии, ребята, размещал в памяти!