/// <summary> /// IComparable compare to method. /// </summary> /// <param name="poSegment2">Segment to compare with this one.</param> /// <returns>Returns (-1 LT) (0 EQ) or (1 GT)</returns> public Int32 CompareTo(object poSegment2) { int nResult = 0; Segment oSegment2 = (Segment)poSegment2; nResult = PositionA.CompareTo(oSegment2.PositionA); return(nResult); }
/// <summary> /// IComparable compare to method. /// </summary> /// <param name="poSegment2">Segment to compare with this one.</param> /// <param name="peComparisonMethod">Sort by PositionASortKey or by PositionBSortKey.</param> /// <returns>Returns (-1 LT) (0 EQ) or (1 GT)</returns> public Int32 CompareTo(Segment poSegment2, SegmentComparer.ComparisonType peComparisonMethod) { int nResult = 0; switch (peComparisonMethod) { case SegmentComparer.ComparisonType.AlphaPosition: nResult = PositionA.CompareTo(poSegment2.PositionA); break; case SegmentComparer.ComparisonType.BetaPosition: nResult = PositionB.CompareTo(poSegment2.PositionB); break; default: nResult = PositionA.CompareTo(poSegment2.PositionA); break; } return(nResult); }