Crew .NET |
|
Of omdat je geen property Richting hebt... Het is niet omdat je daar een Enum hebt dat je die als Property kan gebruiken. Ook zal je code een NullReferenceException opleveren als je gaat runnen. Je instantieert een nieuw robot-object maar en je haalt de positie er van op maar van Positie is nog geen object gemaakt dus krijg je die Exception. De volgende code lost die twee zaken op:
Module ClassCode
Class Positie
Dim m_X, m_y As Integer
Public Sub New()
Me.m_X = 0
Me.m_y = 0
End Sub
Public ReadOnly Property X() As Integer
Get
X = m_X
End Get
End Property
Public ReadOnly Property Y() As Integer
Get
Y = m_y
End Get
End Property
End Class
Class Robot
Dim m_Positie As Positie
Dim m_Richting As Richting
Public Sub New()
Me.m_Positie = New Positie()
Me.WindRichting = Richting.Noord
End Sub
Public ReadOnly Property Positie() As Positie
Get
Positie = m_Positie
End Get
End Property
Public Property WindRichting() As Richting
Get
WindRichting = m_Richting
End Get
Set(ByVal value As Richting)
Me.m_Richting = value
End Set
End Property
Enum Richting
Noord
Oost
Zuid
West
End Enum
End Class
End Module
Module ClassCode Class Positie Dim m_X, m_y As Integer Public Sub New() Me.m_X = 0 Me.m_y = 0 End Sub Public ReadOnly Property X() As Integer Get X = m_X End Get End Property Public ReadOnly Property Y() As Integer Get Y = m_y End Get End Property End Class Class Robot Dim m_Positie As Positie Dim m_Richting As Richting Public Sub New() Me.m_Positie = New Positie() Me.WindRichting = Richting.Noord End Sub Public ReadOnly Property Positie() As Positie Get Positie = m_Positie End Get End Property Public Property WindRichting() As Richting Get WindRichting = m_Richting End Get Set(ByVal value As Richting) Me.m_Richting = value End Set End Property Enum Richting Noord Oost Zuid West End Enum End Class End Module
Succes! |