private void ValidateArgumentResult(ArgumentResult argumentResult)
        {
            if (argumentResult.Argument is Argument argument)
            {
                var parseError =
                    argumentResult.Parent?.UnrecognizedArgumentError(argument) ??
                    argumentResult.CustomError(argument);

                if (parseError != null)
                {
                    _errors.Add(parseError);
                    return;
                }
            }

            if (argumentResult.GetArgumentConversionResult() is FailedArgumentConversionResult failed)
            {
                _errors.Add(
                    new ParseError(
                        failed.ErrorMessage !,
                        argumentResult));
            }
        }
Esempio n. 2
0
 public static T GetValueOrDefault <T>(this ArgumentResult argumentResult) =>
 argumentResult.GetArgumentConversionResult()
 .ConvertIfNeeded(argumentResult, typeof(T))
 .GetValueOrDefault <T>();