commandlineparser / commandline

The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support
MIT License
4.58k stars 478 forks source link

Factory for multiple verbs #749

Open mmillsAtREPAY opened 3 years ago

mmillsAtREPAY commented 3 years ago

Comment by JeanSebTr Wednesday Apr 27, 2016 at 18:43 GMT

...snip...

I'll check to clean that up and make a pull request (I've also added factory support to multi verb https://github.com/Emergensys/commandline/commit/2ebe156199f8bad3c0155c8c415e3363949941ff), but I'm a bit lost in the functional style.

I've got a CLIOptions class that takes an IClock instance as a constructor parameter, so I'm using the ParseArguments overload that accepts a Func<CLIOptions> to initialize the instance that gets populated.

I'd like to be able to subclass CLIOptions in order to build out a set of verbs, so I was looking for a way to use a factory with multiple verbs (the subclasses would need to receive the same constructor arguments). I didn't see anything obvious in the Parser class, but I stumbled across the quoted comment in https://github.com/commandlineparser/commandline/issues/70.

However, at this time https://github.com/Emergensys/commandline/commit/2ebe156199f8bad3c0155c8c415e3363949941ff is no longer available (or not public). I also wasn't able to find anything that I thought might be the PR @JeanSebTr is referring to in this repository.

Is multi-verb parsing with a factory a supported scenario?

JeanSebTr commented 3 years ago

I've changed employer and don't have access to those changes anymore unfortunately @mmillsAtREPAY

If I recall correctly (having re-read https://github.com/gsscoder/commandline/issues/310), I came up with a small fix by debugging locally. It should be fairly simple to reproduce.