Namespace Search Public Class SearchToken Public Class AttributeValueToken Public AttributeTitle As String Public AttributeId As Integer Public TermValue As String Public TermId As Integer Public Overrides Function GetHashCode() As Integer Return (TermId.GetHashCode & AttributeId.GetHashCode).GetHashCode() End Function Public Overrides Function Equals(obj As Object) As Boolean Return Me.GetHashCode() = DirectCast(obj, AttributeValueToken).GetHashCode() End Function Public Overrides Function ToString() As String Return $"{TermValue} ({AttributeTitle})" End Function End Class End Class End Namespace