using System; using System.Text; using System.Diagnostics; using System.Reflection; using System.IO; using System.Collections.Generic; namespace cscz { class Program { public static int Main(string[] args) { GenerationMode generationMode = GenerationMode.PublicVariables; List extras = new List(); for(int i = 0; i < args.Length; i++) { if(!args[i].StartsWith("-")) { extras.Add(args[i]); continue; } switch(args[i].Trim('-')) { case "help": Assembly asm = Assembly.GetExecutingAssembly(); /*** Debug - Lists the names of all embedded resources *** foreach(string str in asm.GetManifestResourceNames()) Console.WriteLine(str);*/ StreamReader helpTextReader = new StreamReader(asm.GetManifestResourceStream(@"cscz.Help.md")); string helpText = helpTextReader.ReadToEnd(); helpTextReader.Dispose(); Console.WriteLine(helpText); return 0; case "private": generationMode = GenerationMode.PrivateVariablesWithProperties; break; case "public": generationMode = GenerationMode.PublicVariables; break; default: Console.Error.WriteLine("Error: Unknown argument '{0}'.", args[i]); return 1; } } ClassGenerator cg = new ClassGenerator(); cg.GenerationMode = generationMode; string source = Console.In.ReadToEnd(); cg.ParseString(source); Console.WriteLine(cg); return 0; } } }