Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using CMDParser.Attributes;
- using CMDParser.Parser;
- using System;
- using System.Collections.Generic;
- namespace CMDParser.Demo
- {
- public class Program
- {
- public class TimeCommandLine
- {
- [ShortOption('f', OptionAppearance.Optional, ArgumentOptions.Mandatory)]
- [LongOption("format", OptionAppearance.Optional, ArgumentOptions.Mandatory)]
- public string OutputFormat { get; set; }
- [ShortOption('p', OptionAppearance.Optional, ArgumentOptions.None)]
- [LongOption("portability", OptionAppearance.Optional, ArgumentOptions.None)]
- public bool IsPortable { get; set; }
- [ShortOption('o', OptionAppearance.Optional, ArgumentOptions.Mandatory)]
- [LongOption("output", OptionAppearance.Optional, ArgumentOptions.Mandatory)]
- public string OutputFile { get; set; }
- [ShortOption('a', OptionAppearance.Optional, ArgumentOptions.None)]
- [LongOption("append", OptionAppearance.Optional, ArgumentOptions.None)]
- public bool ShouldAppend { get; set; }
- [ShortOption('v', OptionAppearance.Optional, ArgumentOptions.None)]
- [LongOption("verbose", OptionAppearance.Optional, ArgumentOptions.None)]
- public bool IsOutputVerbose { get; set; }
- [LongOption("help", OptionAppearance.Optional, ArgumentOptions.None)]
- public bool ShouldPrintHelp { get; set; }
- [ShortOption('V', OptionAppearance.Optional, ArgumentOptions.None)]
- [LongOption("version", OptionAppearance.Optional, ArgumentOptions.None)]
- public bool ShouldPrintVersion { get; set; }
- [PlainArgument]
- public string Command { get; set; }
- [PlainArgument(0, ulong.MaxValue)]
- public IEnumerable<string> Arguments { get; set; }
- }
- static void Main(string[] args)
- {
- var parser = CommandLineParserFactory.CreateParser<TimeCommandLine>();
- parser.RegisterParseMethod(x => x); // These basic parsers will be preregistred by default.
- parser.RegisterParseMethod(x => int.Parse(x)); // These basic parsers will be preregistred by default.
- var output = parser.Parse(args);
- // Output is instance of TimeCommandLine class.
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment