Siento el título, pero no se me ocurria como ponerlo.
Tengo la siguiente clase:
Código:
Bien, pues he implementado una clase, para ordenar esta lista. Pongo lo más relevante de la clase.<Serializable()> Public Class ClsMedicoList Inherits List(Of ClsMedico) End Class
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:
Pueda llamar también a la misma ordenación.<Serializable()> Public Class ClsCocheList Inherits List(Of ClsCoche) End Class
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...