jonaskellens
Legacy Member
Public Class Coordinate
Private m_rijnr As Integer
Public Property rijnr() As Integer
Get
rijnr = m_rijnr
End Get
Set(ByVal value As Integer)
m_rijnr = value
End Set
End Property
Private m_kolomnr As Integer
Public Property kolomnr() As Integer
Get
kolomnr = m_kolomnr
End Get
Set(ByVal value As Integer)
m_kolomnr = value
End Set
End Property
Public Overrides Function Equals(ByVal obj As Object) As Boolean
If TypeOf obj Is Coordinate Then
Dim other As Coordinate = DirectCast(obj, Coordinate)
Equals = Me.rijnr = other.rijnr AndAlso Me.kolomnr = other.kolomnr
End If
End Function
End Class
Class Vloot
Public Sub bomb(ByVal tebombarderencoordinaat As Coordinate, ByVal vlootcpu As ZeeslagClassLibrary.vloot)
If Me.GetReedsBeschotenCoordinaten.ContainsKey(tebombarderencoordinaat) Then 'check coordinaat reeds op afgevuurd
Me.m_GeefResultaatVanBomb = ResultaatVanBomb.reeds_afgevuurd 'coordinaat reeds afgevuurd
Else
...
end Class
Wanneer ik via mijn client (console-app) 2 maal dezelfde coördinaat doorgeef, dan zou ik de melding moeten krijgen dat de coördinaat reeds gebombardeerd is. Echter de method Me.GetReedsBeschotenCoordinaten.ContainsKey(tebombarderencoordinaat) evalueert naar False. Terwijl deze true zou moeten zijn want 2 dezelfde coördinaten worden vergeleken.
Via tweakers heb ik vernomen dat ik ook de method GetHashCode moet overschrijven, maar in mijn lessen VB.net heb ik niks gezien over HashCodes. Wel over de method Equals... dewelke ik dan ook overschrijf...
Op tweakers is mijn topic dan afgesloten geweest omdat ze geen zin meer hadden mij verder te helpen.
Ik hoop dat hier iemand mij kan helpen met wat ik moet doen ???
Private m_rijnr As Integer
Public Property rijnr() As Integer
Get
rijnr = m_rijnr
End Get
Set(ByVal value As Integer)
m_rijnr = value
End Set
End Property
Private m_kolomnr As Integer
Public Property kolomnr() As Integer
Get
kolomnr = m_kolomnr
End Get
Set(ByVal value As Integer)
m_kolomnr = value
End Set
End Property
Public Overrides Function Equals(ByVal obj As Object) As Boolean
If TypeOf obj Is Coordinate Then
Dim other As Coordinate = DirectCast(obj, Coordinate)
Equals = Me.rijnr = other.rijnr AndAlso Me.kolomnr = other.kolomnr
End If
End Function
End Class
Class Vloot
Public Sub bomb(ByVal tebombarderencoordinaat As Coordinate, ByVal vlootcpu As ZeeslagClassLibrary.vloot)
If Me.GetReedsBeschotenCoordinaten.ContainsKey(tebombarderencoordinaat) Then 'check coordinaat reeds op afgevuurd
Me.m_GeefResultaatVanBomb = ResultaatVanBomb.reeds_afgevuurd 'coordinaat reeds afgevuurd
Else
...
end Class
Wanneer ik via mijn client (console-app) 2 maal dezelfde coördinaat doorgeef, dan zou ik de melding moeten krijgen dat de coördinaat reeds gebombardeerd is. Echter de method Me.GetReedsBeschotenCoordinaten.ContainsKey(tebombarderencoordinaat) evalueert naar False. Terwijl deze true zou moeten zijn want 2 dezelfde coördinaten worden vergeleken.
Via tweakers heb ik vernomen dat ik ook de method GetHashCode moet overschrijven, maar in mijn lessen VB.net heb ik niks gezien over HashCodes. Wel over de method Equals... dewelke ik dan ook overschrijf...
Op tweakers is mijn topic dan afgesloten geweest omdat ze geen zin meer hadden mij verder te helpen.
Ik hoop dat hier iemand mij kan helpen met wat ik moet doen ???