Name
Structure...End Structure Statement
Syntax
accessmodifierStructureStructureName[Implementsinterfacenames] variable declarations procedure declarations End Structure
-
accessmodifier(optional; Keyword) The possible values of
accessmodifierarePublic,Private,Friend,Protected,Protected Friend. For more information, see Section 4.7 in Chapter 4.-
Implementsinterfacenames(optional) Indicates that the structure implements the members of one or more interfaces
Description
Used to declare user-defined types. Structures are similar to classes, but they are value types rather than reference types.
Rules at a Glance
The members of a structure can be variables, properties, methods, or events. Note, however, that each member must be declared with an access modifier:
Public(orDim),Private, orFriend.You cannot assign a structure member an initial value at the same time as you declare it. As a result, the following
Structureconstruct is illegal:Structure Point Public x As Integer = 0 ' Illegal Public y As Integer = 0 ' Illegal End Structure
Structure members can be other structures or objects.
If a structure member is an array, it cannot be explicitly dimensioned.
Structures can be passed as arguments to functions or as the return type of a function.
Although structures are similar to classes, the following class features are not supported in structures:
Structures cannot explicitly inherit, nor can they be inherited.
All constructors for a structure must be parameterized.
Structures ...