Что означают квадратные скобки вокруг идентификатора в VB.NET?

Я хорошо знаком с VB и .NET в целом, но я просто наткнулся на этот код:

Me.[GetType]()

Какова цель скобок вокруг GetType?

Ответы

Ответ 1

Квадратные скобки используются, чтобы сообщить компилятору, что он должен интерпретировать его как тип, даже если это будет ключевое слово. Но ваш пример должен быть таким же, как Me.GetType().

Вы можете использовать его, например, для Enums.

Пример-Enum:

Enum Colors
    Red
    Green
    Blue
    Yellow
End Enum 'Colors

Dim colors = [Enum].GetValues(GetType(Colors))
For Each c In colors
   Console.WriteLine(c)
Next

Это не будет компилироваться нормально:

Enum.GetValues(GetType(Colors)) 'because Enum is a keyword'