>> public class DecendingDateCompare : System.Collections.Generic.IComparer<DateTime> >> { >> public int Compare(DateTime x, DateTime y) >> { >> return x.CompareTo(y); >> } >> }Return logic might be wrong but you get the idea. HTH
>>>SortedList<DateTime, Bookmark> BookMarks = new SortedList<DateTime, Bookmark>(); >>>>>>Where BookMark is a custom object of my creation. I would like to have this list automatically sort in decending order, i.e., the most recent DateTime first, etc.
>>> public class DecendingDateCompare : IComparer >>> { >>> public int Compare(object x, object y) >>> { >>> // I am passing objects x, y to conform to the IComparer signature?? >>> try >>> { >>> DateTime d1 = DateTime.Parse(x.ToString()); >>> DateTime d2 = DateTime.Parse(y.ToString()); >>> return d1.CompareTo(d2)*-1; >>> } >>> catch (System.Exception ex) >>> { >>> return x.ToString().CompareTo(y.ToString()); >>> } >>> } >>> } >>> >>>>>>If I leave the above declaration of my SortedList as above, no errors, but as soon as I try the below I get errors:
>>> SortedList<DateTime, Bookmark> BookMarks = new SortedList<DateTime, Bookmark>(new DecendingDateCompare()); >>>>>>
>>>The best overloaded method match for 'System.Collections.Generic.SortedList<System.DateTime,Marketware.Bookmark>.SortedList(int)' has some invalid arguments >>>>>>Argument '1': cannot convert from 'Marketware.DecendingDateCompare' to 'int'