// todo: OnlyDigits() // todo: NotMatch(this Argument<string> arg, Regex regex) // todo: Char(5).IsDigit() private static bool ContainsPrivate(Argument <string> arg, string value, StringComparison comparisonType, string methodName) { InvalidMethodArgumentThrower.IfArgumentValueIsNull(arg, methodName); InvalidMethodArgumentThrower.IfArgumentOfMethodIsNull(value, nameof(value), methodName); return(arg.Value.IndexOf(value, comparisonType) >= 0); }
private static bool EndsWithPrivate(Argument <string> arg, string value, StringComparison comparisonType, string methodName) { InvalidMethodArgumentThrower.IfArgumentValueIsNull(arg, methodName); InvalidMethodArgumentThrower.IfArgumentOfMethodIsNull(value, nameof(value), methodName); return(arg.Value.EndsWith(value, comparisonType)); }
/// <summary> /// Throws <see cref="ArgumentException"/> if argument is match <paramref name="pattern"/> /// </summary> /// <exception cref="ArgumentException">Throws if argument is match <paramref name="pattern"/></exception> /// <exception cref="ArgValidationException">Throws if argument is <c>null</c> or <paramref name="pattern"/> is <c>null</c></exception> public static Argument <string> NotMatch(this Argument <string> arg, string pattern) { if (arg.ValidationIsDisabled()) { return(arg); } InvalidMethodArgumentThrower.IfArgumentValueIsNull(arg, methodName: nameof(NotMatch)); InvalidMethodArgumentThrower.IfArgumentOfMethodIsNull(arg: pattern, argName: nameof(pattern), methodName: nameof(NotMatch)); if (StringConditionChecker.Match(arg, pattern)) { ValidationErrorExceptionThrower.ArgumentException(arg, $"Argument '{arg.Name}' not must be match with pattern '{pattern}'. Current value: {ExceptionMessageHelper.GetStringValueForMessage(arg.Value)}"); } return(arg); }