commandlineparser / commandlineparser/commandline
Factory for multiple verbs
- Dominant language
- C#
- Stars
- 4.8k
- Forks
- 478
- PR merge metrics
- No merged PRs in 30d
Description
> [](https://github.com/JeanSebTr) **Comment by [JeanSebTr](https://github.com/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` 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?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the Parser class and the ParseArguments overload that accepts a Func, then compare that path with the multi-verb parsing flow. Review issue 70 and the referenced Emergensys commit for prior design context. Done means establishing whether factories can initialize multiple verb subclasses with shared constructor arguments and documenting or implementing the supported behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100