What do square brackets around an identifier in VB

2019-01-11 23:10发布

问题:

I'm quite familiar with VB and .NET in general, but I just ran across this code:

Me.[GetType]()

What is the purpose of the brackets around GetType?

回答1:

The square brackets are used to tell the compiler that he should interpret it as a type, even if it would be a keyword. But your example should be the same as Me.GetType().

You could use it for example for Enums.

Example-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

That wouldn't compile normally:

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


标签: vb.net syntax