diff --git a/ZySharp.Validation/ValidateArgument.Types.cs b/ZySharp.Validation/ValidateArgument.Types.cs index e93ba3f..346431b 100644 --- a/ZySharp.Validation/ValidateArgument.Types.cs +++ b/ZySharp.Validation/ValidateArgument.Types.cs @@ -15,7 +15,7 @@ public static partial class ValidateArgument /// The expected type. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext HasType(this IValidatorContext validator, Type type) + public static IValidatorContext HasType(this IValidatorContext validator, Type type) where T : class { ValidationInternals.ValidateNotNull(type, nameof(type)); @@ -39,14 +39,14 @@ public static IValidatorContext HasType(this IValidatorContext validato /// The allowed types. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext HasType(this IValidatorContext validator, params Type[] types) + public static IValidatorContext HasType(this IValidatorContext validator, params Type[] types) { ValidationInternals.ValidateNotNull(types, nameof(types)); return validator.Perform(() => { var type = validator.Value?.GetType(); - var isValidValue = types.Any(x => (type == x)); + var isValidValue = Array.Exists(types, x => (type == x)); if (!isValidValue) { validator.SetArgumentException( @@ -65,7 +65,7 @@ public static IValidatorContext HasType(this IValidatorContext validato /// The blacklisted type. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext NotHasType(this IValidatorContext validator, Type type) + public static IValidatorContext NotHasType(this IValidatorContext validator, Type type) where T : class { ValidationInternals.ValidateNotNull(type, nameof(type)); @@ -89,14 +89,14 @@ public static IValidatorContext NotHasType(this IValidatorContext valid /// The blacklisted types. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext NotHasType(this IValidatorContext validator, params Type[] types) + public static IValidatorContext NotHasType(this IValidatorContext validator, params Type[] types) { ValidationInternals.ValidateNotNull(types, nameof(types)); return validator.Perform(() => { var type = validator.Value?.GetType(); - var isInvalidValue = types.Any(x => (type == x)); + var isInvalidValue = Array.Exists(types, x => (type == x)); if (isInvalidValue) { validator.SetArgumentException( @@ -115,7 +115,7 @@ public static IValidatorContext NotHasType(this IValidatorContext valid /// The parent type. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext DerivesFrom(this IValidatorContext validator, Type type) + public static IValidatorContext DerivesFrom(this IValidatorContext validator, Type type) where T : class { ValidationInternals.ValidateNotNull(type, nameof(type)); @@ -129,7 +129,7 @@ public static IValidatorContext DerivesFrom(this IValidatorContext vali ValidationInternals.FormatName(validator.Path, null), type.FullName)); } - }); + }, false); } /// @@ -140,14 +140,14 @@ public static IValidatorContext DerivesFrom(this IValidatorContext vali /// The allowed parent types. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext DerivesFrom(this IValidatorContext validator, params Type[] types) + public static IValidatorContext DerivesFrom(this IValidatorContext validator, params Type[] types) { ValidationInternals.ValidateNotNull(types, nameof(types)); return validator.Perform(() => { var type = validator.Value?.GetType(); - var isValidValue = types.Any(x => x.IsAssignableFrom(type)); + var isValidValue = Array.Exists(types, x => x.IsAssignableFrom(type)); if (!isValidValue) { validator.SetArgumentException( @@ -155,7 +155,7 @@ public static IValidatorContext DerivesFrom(this IValidatorContext vali ValidationInternals.FormatName(validator.Path, null), string.Join(", ", types.Select(x => $"'{x?.FullName ?? "null"}'").ToList()))); } - }); + }, false); } /// @@ -166,7 +166,7 @@ public static IValidatorContext DerivesFrom(this IValidatorContext vali /// The blacklisted parent types. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext NotDerivesFrom(this IValidatorContext validator, Type type) + public static IValidatorContext NotDerivesFrom(this IValidatorContext validator, Type type) where T : class { ValidationInternals.ValidateNotNull(type, nameof(type)); @@ -180,7 +180,7 @@ public static IValidatorContext NotDerivesFrom(this IValidatorContext v ValidationInternals.FormatName(validator.Path, null), type.FullName)); } - }); + }, false); } /// @@ -191,14 +191,14 @@ public static IValidatorContext NotDerivesFrom(this IValidatorContext v /// The blacklisted types. /// The unmodified validator context. [ExcludeFromCodeCoverage] - public static IValidatorContext NotDerivesFrom(this IValidatorContext validator, params Type[] types) + public static IValidatorContext NotDerivesFrom(this IValidatorContext validator, params Type[] types) { ValidationInternals.ValidateNotNull(types, nameof(types)); return validator.Perform(() => { var type = validator.Value?.GetType(); - var isInvalidValue = types.Any(x => x.IsAssignableFrom(type)); + var isInvalidValue = Array.Exists(types, x => x.IsAssignableFrom(type)); if (isInvalidValue) { validator.SetArgumentException( @@ -206,6 +206,6 @@ public static IValidatorContext NotDerivesFrom(this IValidatorContext v ValidationInternals.FormatName(validator.Path, null), string.Join(", ", types.Select(x => $"'{x?.FullName ?? "null"}'").ToList()))); } - }); + }, false); } } diff --git a/ZySharp.Validation/ValidateArgument.cs b/ZySharp.Validation/ValidateArgument.cs index 560235a..73a08e5 100644 --- a/ZySharp.Validation/ValidateArgument.cs +++ b/ZySharp.Validation/ValidateArgument.cs @@ -23,7 +23,7 @@ public static partial class ValidateArgument /// The name of the argument to validate. /// The action to perform for the selected parameter. /// The value of the validated argument. - [return: NotNullIfNotNull("value")] + [return: NotNullIfNotNull(nameof(value))] public static T? For([ValidatedNotNull][NoEnumeration] T? value, string name, Action> action) { ValidationInternals.ValidateNotNull(name, nameof(name));