77using System ;
88using System . Runtime . CompilerServices ;
99using JetBrains . Annotations ;
10- using Xtensive . Core ;
1110using Xtensive . Comparison ;
1211
1312
@@ -28,7 +27,6 @@ public static class ArgumentValidator
2827 public static void EnsureArgumentNotNull ( object value , [ InvokerParameterName ] string parameterName )
2928 {
3029 if ( value == null ) {
31- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
3230 throw new ArgumentNullException ( parameterName ) ;
3331 }
3432 }
@@ -45,13 +43,11 @@ public static void EnsureArgumentIsNotDefault<T>(T value, [InvokerParameterName]
4543 {
4644 if ( default ( T ) == null ) {
4745 if ( value == null ) {
48- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
49- throw Exceptions . InvalidArgument ( value , "parameterName" ) ;
46+ throw Exceptions . InvalidArgument ( value , parameterName ) ;
5047 }
5148 }
52- else if ( AdvancedComparerStruct < T > . System . Equals ( value , default ( T ) ) ) {
53- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
54- throw Exceptions . InvalidArgument ( value , "parameterName" ) ;
49+ else if ( AdvancedComparerStruct < T > . System . Equals ( value , default ) ) {
50+ throw Exceptions . InvalidArgument ( value , parameterName ) ;
5551 }
5652 }
5753
@@ -65,11 +61,9 @@ public static void EnsureArgumentIsNotDefault<T>(T value, [InvokerParameterName]
6561 public static void EnsureArgumentNotNullOrEmpty ( string value , [ InvokerParameterName ] string parameterName )
6662 {
6763 if ( value == null ) {
68- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
6964 throw new ArgumentNullException ( parameterName ) ;
7065 }
7166 if ( value . Length == 0 ) {
72- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
7367 throw new ArgumentException ( Strings . ExArgumentCannotBeEmptyString , parameterName ) ;
7468 }
7569 }
@@ -78,15 +72,14 @@ public static void EnsureArgumentNotNullOrEmpty(string value, [InvokerParameterN
7872 public static void EnsureArgumentNotNullOrEmptyOrWhiteSpace ( string value , [ InvokerParameterName ] string parameterName )
7973 {
8074 if ( value == null ) {
81- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
8275 throw new ArgumentNullException ( parameterName ) ;
8376 }
77+
8478 if ( value . Length == 0 ) {
85- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
8679 throw new ArgumentException ( Strings . ExArgumentCannotBeEmptyString , parameterName ) ;
8780 }
81+
8882 if ( value . Trim ( ) . Length == 0 ) {
89- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
9083 throw new ArgumentException ( Strings . ExArgumentCannotBeWhiteSpacesOnlyString , parameterName ) ;
9184 }
9285 }
@@ -103,7 +96,6 @@ public static void EnsureArgumentIs<T>(object value, [InvokerParameterName] stri
10396 {
10497 EnsureArgumentNotNull ( value , parameterName ) ;
10598 if ( ! ( value is T ) ) {
106- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
10799 throw new ArgumentException ( string . Format ( Strings . ExInvalidArgumentType , typeof ( T ) ) , parameterName ) ;
108100 }
109101 }
@@ -119,8 +111,7 @@ public static void EnsureArgumentIs<T>(object value, [InvokerParameterName] stri
119111 public static void EnsureArgumentIs ( object value , Type type , [ InvokerParameterName ] string parameterName )
120112 {
121113 EnsureArgumentNotNull ( value , parameterName ) ;
122- if ( ! type . IsAssignableFrom ( value . GetType ( ) ) ) {
123- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
114+ if ( ! type . IsInstanceOfType ( value ) ) {
124115 throw new ArgumentException ( string . Format ( Strings . ExInvalidArgumentType , type ) , parameterName ) ;
125116 }
126117 }
@@ -138,7 +129,6 @@ public static void EnsureArgumentIsNullOr<T>(object value, [InvokerParameterName
138129 if ( value == null )
139130 return ;
140131 if ( ! ( value is T ) ) {
141- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
142132 throw new ArgumentException ( string . Format ( Strings . ExInvalidArgumentType , typeof ( T ) ) , parameterName ) ;
143133 }
144134 }
@@ -157,7 +147,6 @@ public static void EnsureArgumentIsInRange<T>(T value, T lowerBoundary, T upperB
157147 where T : struct , IComparable < T >
158148 {
159149 if ( value . CompareTo ( lowerBoundary ) < 0 || value . CompareTo ( upperBoundary ) > 0 ) {
160- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
161150 throw new ArgumentOutOfRangeException ( parameterName , value ,
162151 string . Format ( Strings . ExArgumentShouldBeInRange , lowerBoundary , upperBoundary ) ) ;
163152 }
@@ -176,7 +165,6 @@ public static void EnsureArgumentIsGreaterThan<T>(T value, T boundary, [InvokerP
176165 {
177166 if ( value . CompareTo ( boundary ) > 0 )
178167 return ;
179- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
180168 throw new ArgumentOutOfRangeException ( parameterName , value ,
181169 string . Format ( Strings . ExArgumentMustBeGreaterThanX , boundary ) ) ;
182170 }
@@ -195,7 +183,6 @@ public static void EnsureArgumentIsGreaterThanOrEqual<T>(T value, T boundary, [I
195183 {
196184 if ( value . CompareTo ( boundary ) >= 0 )
197185 return ;
198- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
199186 throw new ArgumentOutOfRangeException ( parameterName , value ,
200187 string . Format ( Strings . ExArgumentMustBeGreaterThatOrEqualX , boundary ) ) ;
201188 }
@@ -214,7 +201,6 @@ public static void EnsureArgumentIsLessThan<T>(T value, T boundary, [InvokerPara
214201 {
215202 if ( value . CompareTo ( boundary ) < 0 )
216203 return ;
217- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
218204 throw new ArgumentOutOfRangeException ( parameterName , value ,
219205 string . Format ( Strings . ExArgumentMustBeLessThanX , boundary ) ) ;
220206 }
@@ -233,7 +219,6 @@ public static void EnsureArgumentIsLessThanOrEqual<T>(T value, T boundary, [Invo
233219 {
234220 if ( value . CompareTo ( boundary ) <= 0 )
235221 return ;
236- EnsureArgumentNotNullOrEmpty ( parameterName , "parameterName" ) ;
237222 throw new ArgumentOutOfRangeException ( parameterName , value ,
238223 string . Format ( Strings . ExArgumentMustBeLessThanOrEqualX , boundary ) ) ;
239224 }
0 commit comments