Add parameter value provider support

Adds support for parameter value providers which makes it
possible to set custom values for parameters.
This commit is contained in:
Patrik Svensson
2021-05-08 07:42:28 +02:00
committed by Phil Scott
parent d1d94cdebe
commit 1dd1945297
14 changed files with 208 additions and 27 deletions

View File

@@ -17,6 +17,7 @@ namespace Spectre.Console.Cli
public TypeConverterAttribute? Converter { get; }
public PairDeconstructorAttribute? PairDeconstructor { get; }
public List<ParameterValidationAttribute> Validators { get; }
public ParameterValueProviderAttribute? ValueProvider { get; }
public bool Required { get; set; }
public string PropertyName => Property.Name;
@@ -28,6 +29,7 @@ namespace Spectre.Console.Cli
string? description, TypeConverterAttribute? converter,
DefaultValueAttribute? defaultValue,
PairDeconstructorAttribute? deconstuctor,
ParameterValueProviderAttribute? valueProvider,
IEnumerable<ParameterValidationAttribute> validators, bool required)
{
Id = Guid.NewGuid();
@@ -38,6 +40,7 @@ namespace Spectre.Console.Cli
Converter = converter;
DefaultValue = defaultValue;
PairDeconstructor = deconstuctor;
ValueProvider = valueProvider;
Validators = new List<ParameterValidationAttribute>(validators ?? Array.Empty<ParameterValidationAttribute>());
Required = required;
}