培训
如何声明结构(Visual Basic)
使用 结构语句开始结构声明,并使用 End Structure
语句结束该声明。 在这两个语句之间,必须声明至少一个 元素。 元素可以是任何数据类型,但至少一个元素必须是非共享变量或非共享的非自定义事件。
不能初始化结构声明中的任何结构元素。 将变量声明为结构类型时,可以通过变量访问这些元素来向元素赋值。
有关结构和类之间的差异的讨论,请参阅 结构和类。
出于演示目的,请考虑想要跟踪员工姓名、电话分机和工资的情况。 结构允许在单个变量中执行此作。
为结构创建开始和结束语句。
可以使用 Public、Protected、Friend或 Private 关键字指定结构的访问级别,或者允许其默认
Public
。VBPrivate Structure employee End Structure
将元素添加到结构的正文中。
结构必须至少有一个元素。 必须声明每个元素并为其指定访问级别。 如果使用不带任何关键字的 Dim 语句,则辅助功能默认为
Public
。VBPrivate 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() ' Method to raise the event Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub End Structure
在前面的示例中,
salary
字段是Private
,这意味着即使在结构外部也无法访问它,甚至无法从包含的类中访问。 但是,giveRaise
过程是Public
,因此可以从结构外部调用。 同样,可以通过在引发salaryReviewTime
事件的结构中调用方法间接引发salaryReviewTime
事件。 例如:VBPublic Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub
这样,您可以控制事件引发的方式和时间,同时确保无法直接从结构外部访问该事件。
除了变量、
Sub
过程和事件之外,还可以在结构中定义常量、Function
过程和属性。 最多可以指定一个属性作为 默认属性,前提是它至少需要一个参数。 你可以使用共享Sub
过程处理事件。 有关详细信息,请参阅 如何:在 Visual Basic中声明和调用默认属性。
其他资源
文档
-
详细了解:结构和其他编程元素 (Visual Basic)
-
详细了解:Structure 语句
-
详细了解:Visual Basic 中的数组