Пример #1
0
 public override T?GetNearestValue(T?value, Direction direction)
 {
     if (direction == Direction.None)
     {
         throw Exceptions.InvalidArgument(direction, "direction");
     }
     if (!value.HasValue)
     {
         return(value);
     }
     if (direction != ComparisonRules.Value.Direction) // Opposite direction
     {
         if (BaseComparer.ValueRangeInfo.HasMinValue && Equals(value.GetValueOrDefault(), BaseComparer.ValueRangeInfo.MinValue))
         {
             return(null);
         }
     }
     return(BaseComparer.GetNearestValue(value.GetValueOrDefault(), direction));
 }
Пример #2
0
 public override T GetNearestValue(T value, Direction direction)
 => (T)BaseComparer.GetNearestValue(value, direction);
 public override T GetNearestValue(T value, Direction direction)
 {
     return((T)BaseComparer.GetNearestValue(value, direction));
 }
Пример #4
0
 public override Pair <T> GetNearestValue(Pair <T> value, Direction direction)
 => new Pair <T>(value.First, BaseComparer.GetNearestValue(value.Second, direction));