== Why is this an issue? include::../description.adoc[] === Noncompliant code example [source,vbnet] ---- Public Structure Coordinates Public ReadOnly Property X As Integer Public ReadOnly Property Y As Integer ' Noncompliant Public Overrides Function Equals(obj As Object) As Boolean If Not (TypeOf obj Is Coordinates) Then Return False End If Dim coordinates = DirectCast(obj, Coordinates) Return X = coordinates.X AndAlso Y = coordinates.Y End Function ' Noncompliant Public Overrides Function GetHashCode() As Integer Dim hashCode As Long = 1861411795 hashCode = (hashCode * -1521134295 + X.GetHashCode()).GetHashCode() hashCode = (hashCode * -1521134295 + Y.GetHashCode()).GetHashCode() Return hashCode End Function End Structure ---- === Compliant solution [source,vbnet] ---- Public Structure Coordinates Public ReadOnly Property X As Integer Public ReadOnly Property Y As Integer ' Compliant Public Overrides Function Equals(obj As Object) As Boolean If Not (TypeOf obj Is Coordinates) Then Return False End If Dim coordinates = DirectCast(obj, Coordinates) Return X = coordinates.X AndAlso Y = coordinates.Y End Function ' Compliant Public Overrides Function GetHashCode() As Integer Dim hashCode As Long = 1861411795 hashCode = (hashCode * -1521134295 + X.GetHashCode()).GetHashCode() hashCode = (hashCode * -1521134295 + Y.GetHashCode()).GetHashCode() Return hashCode End Function End Structure ---- include::../see.adoc[]