commandlineparser / commandlineparser/commandline
Error parsing with IgnoreUnknownArguments to true and IEnumerable<int> option
- Lingua principale
- C#
- Stelle
- 4.8k
- Fork
- 478
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi. I am having problems similar to described in #776 but working with version 2.9.1.
My scenario is this:
```csharp
using CommandLine;
namespace QuickStart
{
class Program
{
public class Options
{
[Option('i', "input", Required = true, HelpText = "The name of the videos to split. E.g. media split -i file1.mp4 file2.mp4")]
public IEnumerable Input { get; set; } = new List();
[Option('s', "seconds", Required = true, HelpText = "A space separated list of seconds to split the video. E.g. media split -s 5 10")]
public IEnumerable Seconds { get; set; } = new List();
}
static void Main(string[] args)
{
new Parser(with => { with.IgnoreUnknownArguments = true; })
.ParseArguments(args)
.WithParsed(o =>
{
Console.WriteLine("Quick Start Example!");
})
.WithNotParsed(errors =>
{
foreach (var e in errors)
{
Console.WriteLine($"Error: {e}");
}
});
}
}
}
```
Being IgnoreUnknownArguments = true when I pass more parameters (ex. `--input c:\temp\test.mp4 --seconds 2 4 --test1 xxxx`) it returns
```
Error: CommandLine.BadFormatConversionError
Error: CommandLine.MissingRequiredOptionError (in seconds option)
```
If I change the type of Seconds to `IEnumerable` it works correctly (this is going to be my workaround at this moment) but seems like library continues going crazy trying to parse unknown arguments in this scenario.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.