using System.Collections.Generic;
public static void Main()
Console.WriteLine("-------CommandLine v2.3--------");
ShowCommandLineVersion();
var argLine = "-c pas camel none -t csharp:vbnet:cpp";
Console.WriteLine("commandLine=> {0}",argLine);
var args = argLine.Split(new[] { ' ',':' }, StringSplitOptions.RemoveEmptyEntries);
Parser.Default.ParseArguments<Options>(args)
foreach (var x in opts.NameCase)
Console.WriteLine("--------");
foreach (var x in opts.Tags)
.WithNotParsed(HandleParseError);
private static void HandleParseError(IEnumerable<Error> errs)
static void ShowCommandLineVersion()
var asm =System.Reflection.Assembly.GetExecutingAssembly().GetReferencedAssemblies()
.FirstOrDefault (x=> x.FullName.Contains("CommandLine"));
Console.WriteLine("{0} ",asm.FullName);
[Option('c',"Case", Min = 1)]
public IEnumerable<string> NameCase { get; set; }
[Option('t',"Tags", Min = 1, Separator=':')]
public IEnumerable<string> Tags { get; set; }