commandlineparser / commandlineparser/commandline

Factory for multiple verbs

Open
#749 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.