В настоящее время у меня есть объект, реализующий интерфейс IComparable (ASP.NET 3.5, VB). Когда я помещаю несколько экземпляров объектов в список Generics, я сортирую их, выполняя простой someList.Sort
. Моя CompareTo()
функция такова:
Public Function CompareTo(ByVal obj As Object) As Integer Implements
System.IComparable.CompareTo
'default is number of votes (opposite direction, highest first)'
Dim sent As Sentence = CType(obj, Sentence)
Return Not Points.CompareTo(sent.Points)
End Function
Это работает нормально, за исключением того, что теперь мне нужно отсортировать по другому свойству, свойству DateSubmitted, как подмножеству точек. Например, если три предложения имеют голоса: 3, 1, 1, я хочу, чтобы одно (с наибольшим количеством голосов) было первым (очевидно), а из двух предложений с одним голосом - одно, которое отправило самое раннее в список.
Возможно ли это с CompareTo (), или мне нужно просто снова щелкнуть базу данных и отсортировать ее там?
Спасибо