Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gibbed/ndesk.options

A (slightly) modified fork of NDesk.Options.
https://github.com/gibbed/ndesk.options

c-sharp option-parser

Last synced: 5 days ago
JSON representation

A (slightly) modified fork of NDesk.Options.

Awesome Lists containing this project

README

        

NDesk.Options
=============

NDesk.Options is a program option parser for C#.

See: http://www.ndesk.org/Options

Overview:
--------

It takes advantage of C# 3.0 features such as collection initializers and
lambda delegates to provide a short, concise specification of the option
names to parse, whether or not those options support values, and what to do
when the option is encountered. It's entirely callback based:

var verbose = 0;
var show_help = false;
var names = new List ();

var p = new OptionSet () {
{ "v|verbose", v => { if (v != null) ++verbose; } },
{ "h|?|help", v => { show_help = v != null; } },
{ "n|name=", v => { names.Add (v); } },
};

However, C# 3.0 features are not required, and can be used with C# 2.0:

int verbose = 0;
bool show_help = false;
List names = new List ();

OptionSet p = new OptionSet ()
.Add ("v|verbose", delegate (string v) { if (v != null) ++verbose; })
.Add ("h|?|help", delegate (string v) { show_help = v != null; })
.Add ("n|name=", delegate (string v) { names.Add (v); });