public RangeComparison2(IComparable firstBound, RangeComparisonOp firstOp, IComparable value) : this() { FirstBound = firstBound; FirstOp = firstOp; Value = value; }
public static bool Compare(IComparable x, RangeComparisonOp op, IComparable y) { var z = x.CompareTo(y); switch (op) { case RangeComparisonOp.Lt: return z < 0; case RangeComparisonOp.LtEq: return z <= 0; case RangeComparisonOp.Gt: return z > 0; case RangeComparisonOp.GtEq: return z >= 0; } throw new ArgumentException("Invalid comparison operator"); }
public static bool Compare( IComparable firstBound, RangeComparisonOp firstOp, IComparable value, RangeComparisonOp secondOp, IComparable secondBound) { return Compare(firstBound, firstOp, value) && Compare(value, secondOp, secondBound); }