commandlineparser / commandlineparser/commandline

Issues with sub options

Aberta
#48 6 comentários 0 reações 0 responsáveis Ver no GitHub
postponed-after-issue-250-close_temp-label
Linguagem predominante
C#
Estrelas
4.8k
Forks
478
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

**Issue by [wadewegner](https://github.com/wadewegner)**
_Thursday Oct 01, 2015 at 18:07 GMT_
_Originally opened as https://github.com/gsscoder/commandline/issues/249_

----

I'm having an issue with the parser not figuring out my sub-options.

Here's the code in `Main`:

```
var invokedVerb = "";
var invokedVerbInstance = new object();

var options = new Options();
if (!CommandLine.Parser.Default.ParseArguments(args, options,
(verb, subOptions) =>
{
// if parsing succeeds the verb name and correct instance
// will be passed to onVerbCommand delegate (string,object)
invokedVerb = verb;
if (!string.IsNullOrEmpty(invokedVerb))
invokedVerbInstance = subOptions;
}))
{
Environment.Exit(CommandLine.Parser.DefaultExitCodeFail);
}
```

This is pretty much right from the wiki.

My options are defined as this:

```
class Options
{
public Options()
{
CpVerb = new CPSubOptions { };
}

[VerbOption("cp", HelpText = "Interact with cp.")]
public CPSubOptions CpVerb { get; set; }

[HelpVerbOption]
public string GetUsage(string verb)
{
return HelpText.AutoBuild(this, verb);
}
}

class CPSubOptions
{
[Option('n', "name", HelpText = "Get details name.")]
public string Name { get; set; }
}
```

When I run with `cp` as the args, it works and the parser determines that `CPSubOptions` is the `subOptions` and `invokedVerbInstance` is set appropriately.

However, when I run with `cp --name blah` or `cp -n blah`, the `subOptions` is null, so it's not parsed properly.

Any help?

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.