//=========================================================================================== /// <summary> /// Register a handler for a specific command line argument /// </summary> /// <param name="argName"></param> /// <param name="argHandler"></param> /// <param name="required"></param> /// <param name="helpString"></param> /// <returns></returns> public Boolean RegisterArgument(String argName, CommandLineArgHandler argHandler, Boolean required, String helpString) { if (String.IsNullOrEmpty(argName)) { Console.WriteLine("Empty paramenter name"); return(false); } if (ArgumentHandler.ContainsKey(argName)) { Console.WriteLine("Argument already registered: " + argName); return(false); } ArgDefinition argDef = new ArgDefinition(); argDef.handler = argHandler; argDef.required = required; argDef.helpString = helpString; argDef.hadError = false; String argPrefix = argName.Substring(0, 2); if (argPrefix != "--") { // This is the empty value argDef.emptyValueName = argName; argName = ""; } ArgumentHandler.Add(argName, argDef); return(true); }
//=========================================================================================== /// <summary> /// Register a handler for any parsing errors /// </summary> /// <param name="errorHandler"></param> public void RegisterErrorHandler(CommandLineArgHandler errorHandler) { ErrorHandler = errorHandler; }