Buenas foreros !!!
Siento el título, pero no se me ocurria como ponerlo.
Tengo la siguiente clase:
Código:
<Serializable()> Public Class ClsMedicoList
Inherits List(Of ClsMedico)
End Class
Bien, pues he implementado una clase, para ordenar esta lista. Pongo lo más relevante de la clase.
Código:
Public Class ClsComparadorMedico
Implements IComparer(Of ClsMedico)
Public Sub New(ByVal campoFiltro As String, ByVal ordenFiltro As EnumTipoOrden)
Me._campoFiltro = campoFiltro
Me._ordenFiltro = ordenFiltro
End Sub
Public Function Compare(ByVal x As SINSA_ENTITIES.ClsMedico, ByVal y As SINSA_ENTITIES.ClsMedico) As Integer Implements System.Collections.Generic.IComparer(Of SINSA_ENTITIES.ClsMedico).Compare
'Codigo
'Codigo
End Function
Muy bien, ahora para ordenar la lista, lo tengo facil, hago lo siguiente y me la ordena perfecto:
Código:
Me.ListaMedicos.Sort(New HerramientasPresentacion.ClsComparadorMedico("NombrePropiedadDeLaClase", Me.DireccionOrdenacion))
LA PREGUNTA DEL MILLÓN:
¿Como puedo hacer, para que ClsComparadorMedico, en vez de solo recibir elementos de ClsMedico, pueda ser cualquier otro tipo de objeto?
Lo que quiero es, que si tengo otro tipo de Lista, por ejemplo:
Código:
<Serializable()> Public Class ClsCocheList
Inherits List(Of ClsCoche)
End Class
Pueda llamar también a la misma ordenación.
Código:
Me.ListaCoches.Sort(New HerramientasPresentacion.ClsComparadorMedico("NombrePropiedadDeLaClase", Me.DireccionOrdenacion))
En fin, espero haberme explicado y que puedan ayudarme... lo que quiero es cambair ese implements y la function Compare, para que reciba tipos genéricos, ya que con Object, no me está funcionando...