Mono.GetOptions.OptionDetails.ToString C# (CSharp) Метод

ToString() публичный Метод

public ToString ( ) : string
Результат string
		public override string ToString()
		{
			if (optionHelp == null)
			{
				string shortPrefix;
				string longPrefix;
				bool hasLongForm = (LongForm != null && LongForm != string.Empty);
				if (OptionBundle.ParsingMode == OptionsParsingMode.Windows)
				{
					shortPrefix = "/";
					longPrefix = "/";
				}
				else
				{
					shortPrefix = "-";
					longPrefix = linuxLongPrefix;
				}
				optionHelp = "  ";
				optionHelp += (ShortForm != string.Empty) ? shortPrefix + ShortForm + " " : "   ";
				optionHelp += hasLongForm ? longPrefix + LongForm : "";
				if (NeedsParameter)
				{
					if (hasLongForm)
						optionHelp += ":";
					optionHelp += ParamName;
				}
				else if (BooleanOption && VBCStyleBoolean)
				{
					optionHelp += "[+|-]";
				}
				optionHelp += "\t";
				if (AlternateForm != string.Empty && AlternateForm != null)
					optionHelp += "Also " + shortPrefix + AlternateForm + (NeedsParameter ? (":" + ParamName) : "") + ". ";
				optionHelp += ShortDescription;
			}
			return optionHelp;
		}

Usage Example

Пример #1
0
        private void ShowHelp(bool showSecondLevelHelp)
        {
            this.ShowTitleLines();
            Console.WriteLine(this.Usage);
            Console.WriteLine("Options:");
            ArrayList   list1       = new ArrayList(this.list.Count);
            int         num1        = 0;
            IEnumerator enumerator1 = this.list.GetEnumerator();

Label_003B:
            try
            {
                if (enumerator1.MoveNext())
                {
                    OptionDetails details1 = (OptionDetails)enumerator1.Current;
                    if (details1.SecondLevelHelp == showSecondLevelHelp)
                    {
                        char[]   chArray1   = new char[] { '\n' };
                        string[] textArray1 = details1.ToString().Split(chArray1);
                        string[] textArray3 = textArray1;
                        for (int num4 = 0; num4 < textArray3.Length; num4++)
                        {
                            string text1 = textArray3[num4];
                            int    num2  = text1.IndexOf('\t');
                            if (num2 > num1)
                            {
                                num1 = num2;
                            }
                            list1.Add(text1);
                        }
                    }
                    goto Label_003B;
                }
            }
            finally
            {
                IDisposable disposable1 = enumerator1 as IDisposable;
                if (disposable1 != null)
                {
                    disposable1.Dispose();
                }
            }
            num1 += 2;
            IEnumerator enumerator2 = list1.GetEnumerator();

Label_00E6:
            try
            {
                if (!enumerator2.MoveNext())
                {
                    return;
                }
                string   text2      = (string)enumerator2.Current;
                char[]   chArray2   = new char[] { '\t' };
                string[] textArray2 = text2.Split(chArray2);
                Console.Write(textArray2[0].PadRight(num1));
                Console.WriteLine(textArray2[1]);
                if (textArray2.Length > 2)
                {
                    string text3 = new string(' ', num1);
                    for (int num3 = 2; num3 < textArray2.Length; num3++)
                    {
                        Console.Write(text3);
                        Console.WriteLine(textArray2[num3]);
                    }
                }
                goto Label_00E6;
            }
            finally
            {
                IDisposable disposable2 = enumerator2 as IDisposable;
                if (disposable2 != null)
                {
                    disposable2.Dispose();
                }
            }
        }