Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/11/2013, 09:56
joseibarz
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Comparación de toda una clase

Buenas tardes,

gracias por el consejo Malenko.

He comenzado a hacerlo y no sé si me estoy liando o voy en el camino correcto. A ver si me podéis echar una mano.

He creado la clase Device tal que:
Código vb:
Ver original
  1. Public Class Device
  2.     Implements IComparable
  3.     Private _ip As String
  4.     Private _maquina As String
  5.     Private _producto As String
  6.     Private _orden As String
  7.     Private _lote As String
  8.     Private _config As DeviceConfig
  9.  
  10.     Public Overloads Function CompareTo(ByVal obj As Object) As Integer Implements IComparable.CompareTo
  11.         If TypeOf obj Is Device Then
  12.             Dim temp As Device = CType(obj, Device)
  13.  
  14.             Return Me.config.CompareTo(temp.config)
  15.         End If
  16.  
  17.         Throw New ArgumentException("object is not a Device")
  18.     End Function
  19.  
  20. 'GETTERS Y SETTERS No los pongo por ahorrar espacio
  21.  
  22. End Class

La DeviceConfig tal que:
Código vb:
Ver original
  1. Public Class DeviceConfig
  2.     Implements IComparable
  3.     Private _maxNumCodesGlobal As Integer
  4.     Private _maxNumCodesDataMatrix As Integer
  5.     Private _maxNumCodesQR As Integer
  6.     Private _maxNumCodesBarcode As Integer
  7.     Private _partialResults As String
  8.     Private _allowIdenticalSymbols As String
  9.     Private _datamatrixValidation As Integer
  10.     Private _datamatrixValidationType
  11.  
  12.     Public Overloads Function CompareTo(ByVal obj As Object) As Integer Implements IComparable.CompareTo
  13.  
  14.         If TypeOf obj Is DeviceConfig Then
  15.             Dim temp As DeviceConfig = CType(obj, DeviceConfig)
  16.  
  17.             Return Me.CompareTo(temp)
  18.         End If
  19.  
  20.         Throw New ArgumentException("object is not a DeviceConfig")
  21.     End Function
  22. 'GETTERS Y SETTERS No los pongo por ahorrar espacio
  23.  
  24. End Class

Entonces mi intención en el programa es hacer un:
Código vb:
Ver original
  1. Dim a as new Device
  2. 'Modificar alguno de los valores de las propiedades de a.config
  3.  
  4. Dim b as new DeviceConfig
  5. 'Modificar alguno de los valores de las propiedades de b
  6.  
  7. if (a.config.compareTo(b)=0 then
  8. 'SON IGUALES
  9. end if

Esto funcionaría si los valores de las propiedades de las dos clases del tipo DeviceConfig son iguales?

Muchas gracias.