Каково значение скобок в определении свойства?

В чем смысл квадратных скобок вокруг имени свойства в определении?

Пример:

Public Property [Date] As String 

Ответ 1

Чтобы использовать зарезервированные ключевые слова в качестве идентификаторов, скобки должны использоваться для различать идентификатор и ключевое слово:

dim [String] As String

public sub [Stop]
end sub

В msdn говорится:

Любой программный элемент, такой как переменная, класс или член, может иметь то же имя, что и ограниченное ключевое слово. Например, вы можете создать переменная с именем Loop. Однако, чтобы ссылаться на вашу версию имеет то же имя, что и ключевое слово с ограниченным циклом - вы должны либо квалифицируйте его, предваряя его своим полным пространством имен, или приложите его в квадратные скобки ([]), как в следующих примерах:

Ссылка здесь

Ответ 2

Этот синтаксис позволяет использовать зарезервированное слово как имя члена или переменной. Не рекомендуется, хотя IMHO с точки зрения обслуживания кода (хотя см. Комментарии ниже для альтернативной точки зрения на эту конкретную точку)!

В частности, не рекомендуется, если вы собираетесь объявить свойство "Дата" в виде строки, но это отдельная проблема...

Ответ 3

Дата является зарезервированным ключевым словом в VB.NET, но может использоваться как имя свойства или переменной, если заключено в квадратные скобки:

http://msdn.microsoft.com/en-us/library/ksh7h19t(v=vs.90).aspx