static void Main(string[] args) { var result = Parser.Default.ParseArguments <Options>(args); switch (result.Tag) { case ParserResultType.Parsed: var options = (result as Parsed <Options>).Value; var gen = new Ecore2Code(options); #if DEBUG gen.GenerateCode(); #else try { gen.GenerateCode(); } catch (Exception ex) { Console.WriteLine(ex.Message); } #endif break; case ParserResultType.NotParsed: default: Console.WriteLine("You are using me wrongly!"); Console.WriteLine("Usage: Ecore2Code [Options] -o [Output File or directory] [Inputfiles]"); Console.WriteLine("Input files may either be in NMeta or Ecore format."); Console.WriteLine("Example: Ecore2Code -f -n NMF.Models -o Meta NMeta.nmf"); Console.WriteLine(HelpText.AutoBuild(result).ToString()); break; } }
static void Main(string[] args) { Options options = new Options(); if (Parser.Default.ParseArguments(args, options)) { var gen = new Ecore2Code(options); #if DEBUG gen.GenerateCode(); #else try { gen.GenerateCode(); } catch (Exception ex) { Console.WriteLine(ex.Message); } #endif } else { Console.WriteLine("You are using me wrongly!"); Console.WriteLine("Usage: Ecore2Code [Options] -o [Output File or directory] [Inputfiles]"); Console.WriteLine("Input files may either be in NMeta or Ecore format."); Console.WriteLine("Example: Ecore2Code -f -n NMF.Models -o Meta NMeta.nmf"); Console.WriteLine(options.GetHelp()); } }