Changeset 5082
- Timestamp:
- 01/20/08 18:32:30 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/csharp/CommandLineParser/CommandLineParser/CommandLineParser.cs
r5080 r5082 56 56 public void ShowHelp() 57 57 { 58 Int32 maxLen = 0; 59 Dictionary<String, String> optionHelps = new Dictionary<string, string>(); 58 60 foreach (PropertyInfo pi in _type.GetProperties()) 59 61 { 60 62 Object defaultValue = GetDefaultValue(pi); 61 63 String defaultOrRequired = (defaultValue == null ? "(Required)" : "(Default: " + defaultValue.ToString() + ")"); 64 String keyName; 65 String optionName = ToLowerAndDelimiterize('-', pi.Name); 62 66 if (pi.PropertyType == typeof(Boolean)) 63 67 { 64 Console.WriteLine("--{1}=<true|false>: {2} {3}", pi.Name, ToLowerAndDelimiterize('-', pi.Name), GetDescription(pi), defaultOrRequired);68 keyName = String.Format("--{0}=<true|false>", optionName); 65 69 } 66 70 else 67 71 { 68 Console.WriteLine("--{1}=({2}): {3} {4}", pi.Name, ToLowerAndDelimiterize('-', pi.Name), pi.PropertyType.Name, GetDescription(pi), defaultOrRequired); 69 } 72 keyName = String.Format("--{0}=({1})", optionName, pi.PropertyType.Name); 73 } 74 optionHelps[keyName] = GetDescription(pi) + " " + defaultOrRequired; 75 76 if (maxLen < keyName.Length) 77 maxLen = keyName.Length; 78 } 79 80 foreach (String key in optionHelps.Keys) 81 { 82 Console.WriteLine("{0,"+(-maxLen)+"}: {1}", key, optionHelps[key]); 70 83 } 71 84 } … … 88 101 { 89 102 returnOptions = Parse(args); 90 return true;91 103 } 92 104 catch (ArgumentException) … … 95 107 return false; 96 108 } 109 110 return (returnOptions != null); 97 111 } 98 112 … … 106 120 String[] parts = args[i].Split(new Char[]{ '=', ':' }, 2); 107 121 String memberName = ToUpperCamelCase('-', parts[0]); 122 123 // Help 124 if (String.Compare(memberName, "help", true) == 0) 125 return default(T); 108 126 109 127 if (!_availableOptions.ContainsKey(memberName))
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)