asked on
Module Module1
Sub Main()
Dim EmployeeList As New List(Of Employee)
Dim Employee1 As New Employee
Dim Employee2 As New Employee
Employee1.ID = 1
Employee1.Name = "James"
Employee2.ID = 2
Employee2.Name = "james"
EmployeeList.Add(Employee1)
Console.WriteLine(EmployeeList.Contains(Employee2, New Employee.EqualityEmployee))
Console.ReadKey()
End Sub
Public Class Employee
Public ID As Int16
Public Name As String
Public Class EqualityEmployee
Implements IEqualityComparer(Of Employee)
Public Function Equals1(ByVal x As Employee, ByVal y As Employee) As Boolean Implements System.Collections.Generic.IEqualityComparer(Of Employee).Equals
Return x.ID.Equals(y.ID) OrElse String.Equals(x.Name, y.Name, StringComparison.CurrentCultureIgnoreCase)
End Function
Public Function GetHashCode1(ByVal obj As Employee) As Integer Implements System.Collections.Generic.IEqualityComparer(Of Employee).GetHashCode
Return obj.GetHashCode
End Function
End Class
End Class
End Module