Overrides equals : Class Definition « Class Module « VB.Net Tutorial






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








6.11.Class Definition
6.11.1.Class with a constructor to initialize its member field value
6.11.2.Define class
6.11.3.Define your own Time Class
6.11.4.Class declaration with a method that has a parameter
6.11.5.Class that contains instance variable and a property to get and set its value
6.11.6.Implement an interface
6.11.7.One class implements two interfaces 1
6.11.8.Overrides equals
6.11.9.Overrides ToString
6.11.10.Structure and Class assignment: by reference or by value