예제 #1
0
 public void ProcessArgs(string[] args)
 {
     optionParser = new OptionList(this);
     optionParser.AdditionalBannerInfo = AdditionalBannerInfo;
     optionParser.ProcessArgs(args);
     RemainingArguments = (string[])arguments.ToArray(typeof(string));
 }
예제 #2
0
        public string[] NormalizeArgs(string[] args)
        {
            bool      flag1 = true;
            ArrayList list1 = new ArrayList();

            string[] textArray1 = this.ExpandResponseFiles(args);
            for (int num2 = 0; num2 < textArray1.Length; num2++)
            {
                string text1 = textArray1[num2];
                if (text1.Length > 0)
                {
                    if (flag1)
                    {
                        if (this.endOptionProcessingWithDoubleDash && (text1 == "--"))
                        {
                            flag1 = false;
                        }
                        else if (((this.parsingMode & OptionsParsingMode.Linux) > 0) && (text1[0] == '-') && ((text1.Length > 1) && (text1[1] != '-')) && this.breakSingleDashManyLettersIntoManyOptions)
                        {
                            CharEnumerator enumerator1 = text1.Substring(1).GetEnumerator();
                            while (true)
                            {
                                if (!enumerator1.MoveNext())
                                {
                                    break;
                                }
                                char ch1 = enumerator1.Current;
                                list1.Add("-" + ch1);
                            }
                        }
                        else
                        {
                            if (!this.MaybeAnOption(text1))
                            {
                                goto Label_014D;
                            }
                            char[] chArray1 = new char[] { ':', '=' };
                            int    num1     = OptionList.IndexOfAny(text1, chArray1);
                            if (num1 < 0)
                            {
                                list1.Add(text1);
                                goto Label_0155;
                            }
                            list1.Add(text1.Substring(0, num1));
                            list1.Add(text1.Substring(num1 + 1));
                        }
                    }
                    else
                    {
                        this.argumentsTail.Add(text1);
                    }
                }
                goto Label_0155;
Label_014D:
                list1.Add(text1);
                Label_0155 :;
            }
            return((string[])list1.ToArray(typeof(string)));
        }
예제 #3
0
 public void ProcessArgs(string[] args)
 {
     optionParser = new OptionList(this);
     optionParser.AdditionalBannerInfo = AdditionalBannerInfo;
     optionParser.ProcessArgs(args);
     RemainingArguments = (string[])arguments.ToArray(typeof(string));
 }