Mega Code Archive

 
Categories / VB.Net Tutorial / Class Module
 

Using the Equals Method to Compare Instance Variables

Imports System Public Class Point      Protected x As Integer    Protected y As Integer    Public Sub New (xValue As Integer, yValue As Integer)     Me.x = xValue     Me.y = yValue    End Sub    Public Overrides Overloads Function Equals(obj As Object) As Boolean       If obj Is Nothing OrElse Not Me.GetType() Is obj.GetType() Then          Return False       End If       Dim p As Point = CType(obj, Point)       Return Me.x = p.x And Me.y = p.y    End Function     Public Overrides Function GetHashCode() As Integer       Return x Xor y    End Function  End Class  Class Rectangle    Private a, b As Point        Public Overrides Overloads Function Equals(obj As [Object]) As Boolean       If obj Is Nothing Or Not Me.GetType() Is obj.GetType() Then          Return False       End If       Dim r As Rectangle = CType(obj, Rectangle)       Return Me.a.Equals(r.a) And Me.b.Equals(r.b)    End Function         Public Overrides Function GetHashCode() As Integer       Return a.GetHashCode() ^ b.GetHashCode()    End Function  End Class