如何:声明结构 (Visual Basic)
使用 Structure 语句 语句作为结构声明的开始,并使用 End Structure 语句作为结构声明的结束。 在这两条语句之间必须至少声明一个“元素”。 元素可以是任何数据类型,但是至少一个必须是非共享变量,或是非共享非自定义事件。
不能在结构声明中初始化任何结构元素。 如果将一个变量声明为结构类型,则可以通过变量访问元素来给它们赋值。
关于结构和类之间的差异的讨论,请参见 结构和类 (Visual Basic)。
为演示需要,考虑一种情况:跟踪雇员的姓名、电话分机和薪金。 结构允许在单个变量中实现。
声明一个结构
创建结构的开始和结束语句。
可以使用 Public (Visual Basic)、Protected (Visual Basic)、Friend (Visual Basic) 或 Private (Visual Basic) 关键字指定结构的访问级别,或者使用默认值 Public。
Private Structure employee End Structure
向结构体添加元素。
结构必须具有至少一个元素。 必须声明结构的每个元素并指定其访问级别。 如果使用不含任何关键字的 Dim 语句 (Visual Basic),则可访问性默认值为 Public。
Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime() End Structure
前面的示例中的 salary 字段是 Private,这意味着不能从结构之外访问该字段,即使是从包含类也不能访问。 但是,giveRaise 过程是 Public,因此可以从结构之外调用。 同样,可以从结构之外引发 salaryReviewTime 事件。
除了变量、Sub 过程和事件之外,还可以在结构中定义常数、Function 过程和属性。 可将最多一个属性定义为“默认属性”,只要该属性具有至少一个参数。 可以使用 Shared (Visual Basic) Sub 过程来处理事件。 有关更多信息,请参见如何:在 Visual Basic 中声明和调用默认属性。