internal static ArgumentConversionResult Failure(Argument argument, string error, ArgumentConversionResultType reason) => new(argument, error, reason);
private ArgumentConversionResult(Argument argument, object?value) { Argument = argument ?? throw new ArgumentNullException(nameof(argument)); Value = value; Result = ArgumentConversionResultType.Successful; }
private ArgumentConversionResult(Argument argument) { Argument = argument ?? throw new ArgumentNullException(nameof(argument)); Result = ArgumentConversionResultType.NoArgument; }
private ArgumentConversionResult(Argument argument, string error, ArgumentConversionResultType failure) { Argument = argument ?? throw new ArgumentNullException(nameof(argument)); ErrorMessage = error ?? throw new ArgumentNullException(nameof(error)); Result = failure; }