Comments (4)
Erik,
thanks for a lot for this thread.
You're right the base class in question were added only for that reason (with a limited eye to future extensions).
Since this library was designed to fit developers need, there's not doubt that this refactoring must be made!
At this point I have to put it on top of the TODO list.
Just one question. Could you explain more clearly the second chance beyond the static one?
You say: 'as an option of the method'. What you're trying to tell me? Be patient, English not my primary language.
May be you're saying to treat it as an ordinary option? E.g.
class Options {
[ReceiveParserState]
public LastPostParsingState MyState {get; set;}
}
Something like this?
Again, good observation!
Regards, Giacomo
from commandline.
Hi Giacomo,
I am happy to hear that this will be improved because currently I cannot use this feature.
I think I wasn't very clear at all with the second option :-) I meant an argument instead of an option
something like
GetUsage(LastPostParsingState state)
{... }
I am worried that this solution would still require to propagate the dll to every class that extends it.
My preference would be to write GetUsage() part of the ParseArguments (I am simplifying because I don't remember the exact syntax)
e.g. ParseArguments(...., state => AutoHelp.Build(state))
Btw, I wrote a simple class that takes an option class and generates the corresponding command line for your library, would you be interested to integrate it?
Cheers
Erik.
from commandline.
Hi Erik,
thanks for clarifying.
We could -> DeveloperOptions::GetUsage(LastPostParsingState state)
or also what I wrote in the last post.
The problem with this is that the new 1.9.4.91* supports verb commands and verb commands are a special case that use a coherent -> DeveloperOptions::GetUsage(string verb) to discriminate the verb command of which produce helpscreen.
So mapping a postparsing state to be received like in my sample could save some future headache.
About your class, what it does: take an instance e deduce the command line that could have generated it?
If I'm right, I think could be useful also for test. Anyway you're always encouraged to send/request feature.
Why you don't put it in gist and send back the link?
Last thing, you've created this class; so tell what use you do of this code ... for let me better understand (and other users/contributors if code can be seamlessly integrated or if it suitable for other kind of uses -> show the way you employ the library and share it with the community).
Regards, Giacomo
from commandline.
Done! Thanks for the suggestion...
from commandline.
Related Issues (20)
- Support for default verb? HOT 7
- Is version 2 still beta? HOT 3
- Cannot use 2 verbs at the same time HOT 5
- Mutual exclusive option is not enforced (even when settings.MutuallyExclusive == true) HOT 3
- Has the approach to verbs in v2 changed? HOT 6
- THIS REPO GOING DEFUNCT, please submit issues/pull requests to https://github.com/commandlineparser/commandline HOT 2
- Argument value with dash not accepted when using single-dash key HOT 1
- Good, except parsing doesn't work HOT 1
- Parser state HOT 1
- Using --help HOT 1
- Inverse order of FlatternHierarchy HOT 1
- Enum Parsing Is Failing HOT 2
- Migrating from 2.3.0 to 2.4.3 HOT 3
- Please support older .NET framework versions
- Unable to parse TimeSpan given from FormatCommandLine HOT 2
- Order of options where there are list options and values HOT 1
- Group where none or all options must be provided HOT 1
- Fast HOT 1
- (Tool's);
- Tv
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from commandline.