Imports System
Module Test
Sub Main()
Dim f as New Class1("Visual Basic", 1)
Dim f2 as New Class1("Visual Basic", 1)
Console.WriteLine(f2.Equals(f)) 'True!
f = f2
Console.WriteLine(f2.Equals(f))
End Sub
End Module
Public Class Class1
Private Name as String
Private Value as Integer
Public Sub New(Name as String, Value as Integer)
Me.Name = Name
Me.Value = Value
End Sub
Public Overrides Function ToString() as String
Return(Name & " has the value " & Value)
End Function
Public Overrides Overloads Function Equals(Obj as Object) as Boolean
'Value equality test
If Not IsNothing(Obj)
If TypeOf Obj is Class1 then
If CType(Obj, Class1).Name = Me.Name and CType(Obj, Class1).Value = Me.Value then
Return True
End If
End If
End If
Return False
End Function
End Class
True
True