Ejemplo n.º 1
0
        public override ValidationResult Validate(ICommandParameterInfo info, object value)
        {
            if (!(value is string project))
            {
                return(ValidationResult.Error($"Package must be a string ({info?.PropertyName})."));
            }

            if (!project.EndsWith(".csproj"))
            {
                return(ValidationResult.Error($"Provided project is not a csproj file ({info?.PropertyName})."));
            }

            return(ValidationResult.Success());
        }
        public override ValidationResult Validate(ICommandParameterInfo info, object value)
        {
            if (value is int integer)
            {
                if (integer > 0)
                {
                    return(ValidationResult.Success());
                }

                return(ValidationResult.Error($"Number is not greater than 0 ({info?.PropertyName})."));
            }

            throw new InvalidOperationException($"Parameter is not a number ({info?.PropertyName}).");
        }
 /// <summary>
 /// Validates the parameter value.
 /// </summary>
 /// <param name="info">The parameter info.</param>
 /// <param name="value">The parameter value.</param>
 /// <returns>The validation result.</returns>
 public abstract ValidationResult Validate(ICommandParameterInfo info, object?value);
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CommandParameterContext"/> class.
 /// </summary>
 /// <param name="parameter">The parameter.</param>
 /// <param name="resolver">The type resolver.</param>
 /// <param name="value">The parameter value.</param>
 public CommandParameterContext(ICommandParameterInfo parameter, ITypeResolver resolver, object?value)
 {
     Parameter = parameter ?? throw new ArgumentNullException(nameof(parameter));
     Resolver  = resolver ?? throw new ArgumentNullException(nameof(resolver));
     Value     = value;
 }