Skip to Content
Programming Visual Basic .NET, Second Edition
book

Programming Visual Basic .NET, Second Edition

by Jesse Liberty
April 2003
Intermediate to advanced
560 pages
14h 4m
English
O'Reilly Media, Inc.
Content preview from Programming Visual Basic .NET, Second Edition

Creating Structures Without New

Because loc1 is a structure (not a class), it is created on the stack. Thus, in Example 7-1, when the New keyword is called:

Dim loc1 As New Location(200, 300)

the resulting Location object is created on the stack.

The New keyword calls the Location constructor. However, unlike with a class, it is possible to create a structure without using New at all. This is consistent with how built-in type variables (such as Integer) are defined and is illustrated in Example 7-2.

Warning

Creating structures without the keyword New brings little advantage and can create programs that are harder to understand, more error prone, and more difficult to maintain! Proceed at your own risk.

Example 7-2. Creating a structure without New

Option Strict On Imports System Namespace StructureDemonstration ' declare a structure named Location Public Structure Location ' the Structure has private data Private myXVal As Integer Private myYVal As Integer Public Sub New( _ ByVal xCoordinate As Integer, ByVal yCoordinate As Integer) myXVal = xCoordinate myYVal = yCoordinate End Sub 'New ' property Public Property XVal( ) As Integer Get Return myXVal End Get Set(ByVal Value As Integer) myXVal = Value End Set End Property Public Property YVal( ) As Integer Get Return myYVal End Get Set(ByVal Value As Integer) myYVal = Value End Set End Property ' display the structure as a String Public Overrides Function ToString( ) As String Return String.Format("{0}, {1}", XVal, YVal) End Function ...
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.
Start your free trial

You might also like

Programming Visual Basic .NET

Programming Visual Basic .NET

Dave Grundgeiger
VB.NET Language in a Nutshell, Second Edition

VB.NET Language in a Nutshell, Second Edition

Steven Roman PhD, Ron Petrusha, Paul Lomax

Publisher Resources

ISBN: 0596004389Supplemental ContentCatalog PageErrata