public static Interval Range(this Box2 @this, Vector2.Axis axis) { switch (axis) { case Vector2.Axis.X: return(@this.XRange); case Vector2.Axis.Y: return(@this.YRange); default: throw new ArgumentOutOfRangeException("Invalid 2D axis " + axis.ToString()); } }