Class that parses the command line options. Use the ParserFactory to construct an instance of a parser
For a list of all members of this type, see Parser Members.
System.Object
CommandLine.OptParse.Parser
Class that
Example class implementing options via attributes:
// Example class defining properties class Properties { #region Enumerations internal enum ExamplePropertyEnum { First, Second } #endregion Enumerations #region Members private ExamplePropertyEnum _exampleEnumProp; #endregion Members #region Accessed by code properties // Cannot be used by the parser easily, but can be used // by code public ExamplePropertyEnum ExampleEnumProp { get { return _exampleEnumProp; } set { _exampleEnumProp = value; } } #endregion Accessed by code properties #region Options // Cannot be used by the parser easily, but can be used // by code // The EditorBrowsableAttribute is used to hide this // property from code [OptDef(OptValType.Flag)] [LongOptionName("example-enum-prop")] [UseNameAsLongOption(false)] [Description("Show how to perform complex type option parsing")] [EditorBrowsable(EditorBrowsableState.Never)] public string ExampleEnumPropAsString { get { return _exampleEnumProp.ToString(); } set { switch (value.ToLower()) { case "first": _exampleEnumProp = ExamplePropertyEnum.First; break; case "second": _exampleEnumProp = ExamplePropertyEnum.Second; break; default: throw new ArgumentException( "Invalid value for the example-enum-prop option"); } } } // Example of how to reverse flag-option values [OptDef(OptValType.Flag)] [LongOptionName("no-debug")] [UseNameAsLongOption(false)] [Description("Disable debug output")] [EditorBrowsable(EditorBrowsableState.Never)] public bool NoDebug { get { return !this.Debug; } set { this.Debug = !value; } } [ShortOptionName('b')] [OptDef(OptValType.Flag)] [LongOptionName("debug")] [UseNameAsLongOption(false)] [Description("Enable debug output")] public bool Debug = false; [OptDef(OptValType.ValueReq)] [ShortOptionName('d')] [LongOptionName("directory")] [UseNameAsLongOption(false)] [Description("Output directory")] [DefaultValue(".")] public string Directory = "."; [OptDef(OptValType.ValueOpt)] [ShortOptionName('f')] [LongOptionName("file")] [UseNameAsLongOption(false)] [Description("Input file")] public string File = null; [OptDef(OptValType.IncrementalFlag)] [ShortOptionName('v')] [LongOptionName("verbose")] [UseNameAsLongOption(false)] [Description("Set level of vebosity for debug printing")] public int Verbose = 0; [OptDef(OptValType.MultValue, ValueType=typeof(string))] [ShortOptionName('s')] [LongOptionName("strings")] [UseNameAsLongOption(false)] [Description("Test option that takes multiple values")] public StringCollection Strings = new StringCollection(); #endregion Options }
Namespace: CommandLine.OptParse
Assembly: CSharpOptParse (in CSharpOptParse.dll)
Parser Members | CommandLine.OptParse Namespace | UsageBuilder | PropertyFieldParserHelper | DictionaryParserHelper | IOptionResults | ParserFactory