STRUCTURE INSTANTIATION DETAILS
Structures handle instantiation somewhat differently from object references. When you declare a reference variable, Visual Basic does not automatically allocate the object to which the variable points. In contrast, when you declare a value type such as a structure, Visual Basic automatically allocates space for the variable’s data. That means you never need to use the New keyword to instantiate a structure.
However, the Visual Basic compiler warns you if you do not explicitly initialize a structure variable before using it. To satisfy the compiler, you can use the New keyword to initialize the variable when you declare it.
A structure can also provide constructors, and you can use those constructors to initialize the structure. The following code defines the SPerson structure and gives it a constructor that takes two parameters, the second optional:
Public Structure SPerson
Public FirstName As String
Public LastName As String
Public Sub New(
ByVal first_name As String,
Optional ByVal last_name As String = "<unknown>")
FirstName = first_name
LastName = last_name
End Sub
End Structure
To use a structure’s constructor, you initialize the structure with the New keyword much as you initialize a reference variable. The following code allocates an SPerson structure variable using the two-parameter constructor:
Dim artist As New SPerson("Sergio", "Aragones")
You can also use structure constructors later to reinitialize a variable or set its values, as shown ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access