Repository navigation
Add Choices Option #172
Description
Activity
At the moment it is not possible.
However I feel like you could get very close using
enum's.Example:
public enum TestEnum { Value1, Value2, Value3, } public class Options { public TestEnum MyEnum { get; set; } } parser.Configure(opt => opt.MyEnum) .Name("e");
> Example.exe -e "Value2" > MyEnum=Value2> Example.exe -e "Value10" > Unable to parse option '-e|--e' value 'value10' is invalid!Another way to achieve this without enums would be to use FluentValidations Extension.
At the moment it is not possible.
However I feel like you could get very close using
enum's.Example:
public enum TestEnum { Value1, Value2, Value3, } public class Options { public TestEnum MyEnum { get; set; } } parser.Configure(opt => opt.MyEnum) .Name("e");
> Example.exe -e "Value2" > MyEnum=Value2> Example.exe -e "Value10" > Unable to parse option '-e|--e' value 'value10' is invalid!Another way to achieve this without enums would be to use FluentValidations Extension.
Thank you for the response. Yeah Enum is good idea I'll do it instead.
I still preferred your extension it's easy to use :)Thank you that solved my problem. However there's just little problem when I set the default and input invalid value, It's not throwing the exception but still getting the default value only. But it's ok I just skip the default value
I do like the choices idea.
API could look something like this:
IOptionsBuilder<T> Choices(IEnumerable<T> choices); parser.Configure(opt => opt.SomeOption) .Choices(new []{ 1, 2, 3 });
Not sure how this would work when the option type is a
Collection.- addedenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
on Apr 27, 2022
I can't seem find any in the documentation about choices option.
Like in python there is choices option in the argument. Is it possible to do with this great extension?