Пример #1
0
			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;
			}