Imports System
Public Class MainClass
Shared Sub Main(ByVal args As String())
' create an instance of the structure
Dim loc1 As New Location(200, 300)
' display the values in the structure
Console.WriteLine("Loc1 location: {0}", loc1)
' invoke the default constructor
Dim loc2 As New Location( )
Console.WriteLine("Loc2 location: {0}", loc2)
' pass the structure to a method
myFunc(loc1)
' redisplay the values in the structure
Console.WriteLine("Loc1 location: {0}", loc1)
End Sub
' method takes a structure as a parameter
Shared Public Sub myFunc(ByVal loc As Location)
' modify the values through the properties
loc.XVal = 50
loc.YVal = 100
Console.WriteLine("Loc1 location: {0}", loc)
End Sub 'myFunc
End Class
Public Structure Location
' the Structure has private data
Private myXVal As Integer
Private myYVal As Integer
' constructor
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 'ToString
End Structure 'Location
|