Ramon Torras

TECHNOLOGY ENTHUSIAST

Sobrecarga de operadores de clase

Aqui os muestro otro ejemplo de como sobrecargar operadores. muy útil cuando hacemos comparaciones de nuestra clase:

 
Public

Class cUsuario

 Implements Collections.Generic.IComparer(Of cUsuario)

  Public num As Integer

   Shared Operator <(ByVal a As cUsuario, ByVal b As cUsuario) As Boolean
      ….

      Return True

   End Operator

   Shared Operator >(ByVal a As cUsuario, ByVal b As cUsuario) As Boolean
       ….

       Return True

   End Operator

   Shared Operator =(ByVal a As cUsuario, ByVal b As cUsuario) As Boolean
        ….

        Return True

   End Operator

   Shared Operator <>(ByVal a As cUsuario, ByVal b As cUsuario) As Boolean
        ….

        Return True

   End Operator

  ‘ <Aqui implemento la funcion icomparer para poder luego en una lista of cUsuario hacer un sort >

  

   Public Function Compare(ByVal x As cUsuario, ByVal y As cUsuario) As Integer Implements System.Collections.Generic.IComparer(Of cUsuario).Compare
       If x.num > y.num Then
         Return 1
       End If
       If x.num < y.num Then
         Return -1
       End If
       If x.num = y.num Then
         Return 0
       End If
  End Function
 End Class
 
La funcion compare es necesaria para llamar la funcion Sort de un list (of …)

Comments are currently closed.