@@ -41,47 +41,62 @@ internal static bool InRange(object value, string range) {
4141 targetString = limit ;
4242 reversed = true ;
4343 }
44- if ( value is sbyte sb ) {
45- if ( InLimit ( sb , operator_ , sbyte . Parse ( targetString ) , reversed ) )
46- return false ;
47- } else if ( value is byte b ) {
48- if ( InLimit ( b , operator_ , byte . Parse ( targetString ) , reversed ) )
49- return false ;
50- } else if ( value is short s ) {
51- if ( InLimit ( s , operator_ , short . Parse ( targetString ) , reversed ) )
52- return false ;
53- } else if ( value is ushort us ) {
54- if ( InLimit ( us , operator_ , ushort . Parse ( targetString ) , reversed ) )
55- return false ;
56- } else if ( value is int i ) {
57- if ( InLimit ( i , operator_ , int . Parse ( targetString ) , reversed ) )
58- return false ;
59- } else if ( value is uint ui ) {
60- if ( InLimit ( ui , operator_ , uint . Parse ( targetString ) , reversed ) )
61- return false ;
62- } else if ( value is long l ) {
63- if ( InLimit ( l , operator_ , long . Parse ( targetString ) , reversed ) )
64- return false ;
65- } else if ( value is ulong ul ) {
66- if ( InLimit ( ul , operator_ , ulong . Parse ( targetString ) , reversed ) )
67- return false ;
68- } else if ( value is BigInteger bi ) {
69- if ( InLimit ( bi , operator_ , BigInteger . Parse ( targetString ) , reversed ) )
70- return false ;
71- } else if ( value is float f ) {
72- if ( InLimit ( f , operator_ , float . Parse ( targetString ) , reversed ) )
73- return false ;
74- } else if ( value is double d ) {
75- if ( InLimit ( d , operator_ , double . Parse ( targetString ) , reversed ) )
76- return false ;
77- } else if ( value is decimal dc ) {
78- if ( InLimit ( dc , operator_ , decimal . Parse ( targetString ) , reversed ) )
79- return false ;
80- } else if ( value is DateTime dt ) {
81- if ( InLimit ( dt , operator_ , DateTime . Parse ( targetString , null , System . Globalization . DateTimeStyles . RoundtripKind ) , reversed ) )
82- return false ;
83- } else
84- throw new Exception ( "Unsupported type for 'InRange()': " + value . GetType ( ) ) ;
44+ switch ( value ) {
45+ case sbyte sb :
46+ if ( InLimit ( sb , operator_ , sbyte . Parse ( targetString ) , reversed ) )
47+ return false ;
48+ break ;
49+ case byte b :
50+ if ( InLimit ( b , operator_ , byte . Parse ( targetString ) , reversed ) )
51+ return false ;
52+ break ;
53+ case short s :
54+ if ( InLimit ( s , operator_ , short . Parse ( targetString ) , reversed ) )
55+ return false ;
56+ break ;
57+ case ushort us :
58+ if ( InLimit ( us , operator_ , ushort . Parse ( targetString ) , reversed ) )
59+ return false ;
60+ break ;
61+ case int i :
62+ if ( InLimit ( i , operator_ , int . Parse ( targetString ) , reversed ) )
63+ return false ;
64+ break ;
65+ case uint ui :
66+ if ( InLimit ( ui , operator_ , uint . Parse ( targetString ) , reversed ) )
67+ return false ;
68+ break ;
69+ case long l :
70+ if ( InLimit ( l , operator_ , long . Parse ( targetString ) , reversed ) )
71+ return false ;
72+ break ;
73+ case ulong ul :
74+ if ( InLimit ( ul , operator_ , ulong . Parse ( targetString ) , reversed ) )
75+ return false ;
76+ break ;
77+ case BigInteger bi :
78+ if ( InLimit ( bi , operator_ , BigInteger . Parse ( targetString ) , reversed ) )
79+ return false ;
80+ break ;
81+ case float f :
82+ if ( InLimit ( f , operator_ , float . Parse ( targetString ) , reversed ) )
83+ return false ;
84+ break ;
85+ case double d :
86+ if ( InLimit ( d , operator_ , double . Parse ( targetString ) , reversed ) )
87+ return false ;
88+ break ;
89+ case decimal de :
90+ if ( InLimit ( de , operator_ , decimal . Parse ( targetString ) , reversed ) )
91+ return false ;
92+ break ;
93+ case DateTime dt :
94+ if ( InLimit ( dt , operator_ , DateTime . Parse ( targetString , null , System . Globalization . DateTimeStyles . RoundtripKind ) , reversed ) )
95+ return false ;
96+ break ;
97+ default :
98+ throw new Exception ( "Unsupported type for 'inRange()': " + value . GetType ( ) ) ;
99+ }
85100 }
86101 return true ;
87102 }
0 commit comments