VB.NET Brackets(){} [] <>

Chi*_*isu 7 vb.net syntax punctuation

有人可以为我填写空白,包括使用的简短描述,也许还有代码片段?我特别清楚前两名,但最后一点尤其朦胧:

  • () - 用于调用函数,对象实例化,传递参数等.
  • {} - 用于定义和添加元素到数组或集合.
  • [] - 用于强制将对象视为类型而不是关键字.
  • <> - 用于...?

例如,我一直看到这样的东西,但仍然不太确定括号意味着什么......

<TemplateContainer(GetType(TemplateItem))> _
Public Property MessageTemplate As ITemplate
Run Code Online (Sandbox Code Playgroud)

sup*_*cat 10

VB.net使用括号,其中包括算术分组和函数参数(两者都使用C#中的括号),以及数组下标和默认属性参数(两者都使用C#中的括号),(索引器),它还(Of ... )用于包含一个类型列表(将包含< ... >在C#中,没有" Of"关键字.

大括号用于数组或集合初始化表达式,并且在定义具有多个约束的泛型类型时也使用(例如(Of Foo As {IEnumerable, IDisposable, Class})).请注意,后一种用法仅在约束条件下允许; 它是不可能的例如Dim MyThing As {IEnumerable, IDisposable, Class}).

大括号现在也用于New With {}构造:

Dim p = New Person With {.Name = "John Smith", .Age = 27}
Dim anon = New With {.Name = "Jack Smythe", .Age = 23}
Run Code Online (Sandbox Code Playgroud)

方括号用于包含拼写与保留字匹配的标识符.例如,如果一个类定义了一个被调用的方法Not(可能该类是用没有关键字的语言编写的Not),那么可以在VB中使用这样的方法,将其名称括在方括号中(例如someVariable = [Not](5)).如果没有方括号,则上面的表达式将设置someVariable为-6(将vb.net Not运算符应用于值5的结果).

如其他地方所述,尖括号用于属性.请注意,在许多情况下,属性被放置在它们影响的事物上方的行上(以避免将受影响的变量推过屏幕的右边缘).在旧版本的vb中,此类用法需要使用行继续标记(尾随下划线).

尖括号也用于XML LiteralsXML Axis属性:

Dim xml = <simpleTag><anotherTag>text</anotherTag></simpleTag>
Console.WriteLine(xml.<anotherTag>.First.Value)
Run Code Online (Sandbox Code Playgroud)


Jim*_*ley 7

在这种情况下,它用于属性声明.它也可以在XML Literals中使用,如下所示:

<TestMethod>
Public Sub ThisIsATest()
  If 1 <> 0 Then
    Dim foo = <root>
                <child>this is some XML</child>
              </root>
  End If
End Sub
Run Code Online (Sandbox Code Playgroud)


Ree*_*sey 5

在VB.Net中,<>用于包含属性.