public Options(string[] args) { Arguments cmdLine = new Arguments(args); if (cmdLine.FileList.Count != 1) return; InputFile = Path.GetFullPath(cmdLine.FileList[0]); Nmspace = cmdLine["namespace"]; if (Nmspace != null && !ParserUtils.IsValidQualifiedName(Nmspace)) IsValid = false; ClassName = cmdLine["class"]; if (ClassName == null) { ClassName = new Regex("[^0-9a-zA-Z_]", RegexOptions.IgnoreCase).Replace(Path.GetFileNameWithoutExtension(InputFile), "_"); if (ClassName.Length == 0 || ClassName.IndexOfAny(new[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }) == 0) ClassName = "_" + ClassName; } else if (!ParserUtils.IsValidUnqualifiedName(ClassName)) IsValid = false; OutputFile = cmdLine["out"]; if (OutputFile == "") return; if (OutputFile == null) OutputFile = Path.ChangeExtension(InputFile, ExecutablesCommon.GeneratedFileExtension); ConfigFile = cmdLine["config"]; if (ConfigFile == "") return; else if (ConfigFile == null) ConfigFile = ExecutablesCommon.FindConfigFilePath(InputFile); IsValid = true; }