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));