private static int Compare(MonthInfo m1, MonthInfo m2) { if (Object.ReferenceEquals(m1, m2)) { return(0); } if ((object)m1 == null) { return(-1); } if ((object)m2 == null) { return(1); } // years are different if (m2.Year > m1.Year) { return(-1); } if (m2.Year < m1.Year) { return(1); } // years are equal but months are different if (m2.Month > m1.Month) { return(-1); } if (m2.Month < m1.Month) { return(1); } // otherwise the months are same return(0); }
/// <summary> /// Provides a strongly typed <see cref="IComparable"/> implmentation. /// </summary> public int CompareTo(MonthInfo peer) { return(Compare(this, peer)); }