using System; namespace Spectre.Console.Cli { /// /// An base class attribute used for parameter validation. /// /// [AttributeUsage(AttributeTargets.Property, AllowMultiple = true)] public abstract class ParameterValidationAttribute : Attribute { /// /// Gets the validation error message. /// /// The validation error message. public string ErrorMessage { get; } /// /// Initializes a new instance of the class. /// /// The validation error message. protected ParameterValidationAttribute(string errorMessage) { ErrorMessage = errorMessage; } /// /// Validates the parameter value. /// /// The parameter info. /// The parameter value. /// The validation result. public abstract ValidationResult Validate(ICommandParameterInfo info, object? value); } }