/// <summary> /// Determined hows to range compares to the provided value. /// Less than zero: This range precedes value. /// Zero: This range containes the value. /// Greater than zero: This range follows value. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="range">The range to test</param> /// <param name="value">The value to test</param> /// <returns> /// Less than zero: This range precedes value. /// Zero: This range containes the value. /// Greater than zero: This range follows value. /// </returns> public static int CompareTo <T>(this IRange <T> range, T value) where T : IComparable <T> { if (range.LessThan(value)) { return(-1); } else if (range.GreaterThan(value)) { return(1); } return(0); }