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

问题描述 投票:7回答:4

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

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

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

<TemplateContainer(GetType(TemplateItem))> _
Public Property MessageTemplate As ITemplate
vb.net syntax punctuation
4个回答
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

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}

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

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

角括号也用于XML LiteralsXML Axis Properties

Dim xml = <simpleTag><anotherTag>text</anotherTag></simpleTag>
Console.WriteLine(xml.<anotherTag>.First.Value)

5
投票

在VB.Net中,<>用于封装Attributes


4
投票

VB.NET使用<>作为属性以及表示“不等于”(!=

在您的示例中,它只是包含属性。 C#中的相同代码将是

[TemplateContainer(GetType(TemplateItem))]
public ITemplate MessageTemplate { get; set; }

此属性用于开发模板化控件,该控件将数据与表示分开。换句话说,模板化控件可以在改变其外观的同时保留相同的功能。

© www.soinside.com 2019 - 2024. All rights reserved.