Mono.GetOptions.OptionList.ProcessArgs C# (CSharp) Method

ProcessArgs() public method

public ProcessArgs ( string args ) : string[]
args string
return string[]
		public string[] ProcessArgs(string[] args)
		{
			string arg;
			string nextArg;
			bool OptionWasProcessed;

			list.Sort();

			OptionDetails.LinkAlternatesInsideList(list);

			args = NormalizeArgs(args);

			try
			{
				int argc = args.Length;
				for(int i = 0; i < argc; i++)
				{
					arg = args[i];
					if (i + 1 < argc)
						nextArg = args[i + 1];
					else
						nextArg = null;

					OptionWasProcessed = false;

					if (arg.Length > 1 && (arg.StartsWith("-") || arg.StartsWith("/")))
					{
						foreach(OptionDetails option in list)
						{
							OptionProcessingResult result = option.ProcessArgument(arg, nextArg);
							if (result != OptionProcessingResult.NotThisOption)
							{
								OptionWasProcessed = true;
								if (result == OptionProcessingResult.OptionConsumedParameter)
									i++;
								break;
							}
						}
					}

					if (!OptionWasProcessed)
						ProcessNonOption(arg);
				}

				foreach(OptionDetails option in list)
					option.TransferValues();

				foreach(string argument in argumentsTail)
					ProcessNonOption(argument);

				return (string[]) arguments.ToArray(typeof(string));
			}
			catch(Exception ex)
			{
				Console.WriteLine(ex.ToString());
				Environment.Exit(1);
			}

			return null;
		}

Usage Example

Beispiel #1
0
 public void ProcessArgs(string[] args)
 {
     optionParser = new OptionList(this);
     optionParser.AdditionalBannerInfo = AdditionalBannerInfo;
     optionParser.ProcessArgs(args);
     RemainingArguments = (string[])arguments.ToArray(typeof(string));
 }
All Usage Examples Of Mono.GetOptions.OptionList::ProcessArgs