Changeset 15976 for lang/csharp
- Timestamp:
- 07/18/08 11:26:04 (4 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/csharp/CommandLineParser/CommandLineParser/CommandLineParser.cs
r14991 r15976 40 40 private String _defaultArgumentsPropertyName = null; 41 41 42 /// <summary> 43 /// コマンドラインオプション名の先頭につける文字列を指定します。 44 /// </summary> 42 45 public String Prefix { get; set; } 46 47 /// <summary> 48 /// コマンドラインオプション名で使う区切り文字を指定します。 49 /// </summary> 43 50 public Char Delimiter { get; set; } 51 52 /// <summary> 53 /// コマンドラインオプション名を区切り文字と小文字で構成するかどうかを指定します。 54 /// </summary> 44 55 public Boolean DelimiterizeAndToLowerCase { get; set; } 56 57 /// <summary> 58 /// パラメータ名と値とをつなぐ文字列を指定します。 59 /// </summary> 45 60 public Char[] ValueParamDelimiter { get; set; } 46 61 62 /// <summary> 63 /// 不正なコマンドラインオプション以外を許可しないかどうかを指定します。 64 /// </summary> 65 public Boolean Strict { get; set; } 66 67 /// <summary> 68 /// コマンドラインパーサーのインスタンスを初期化します。 69 /// </summary> 47 70 public CommandLineParser() : this('-') 48 71 {} 49 72 73 /// <summary> 74 /// コマンドラインパーサーのインスタンスを初期化します。 75 /// </summary> 76 /// <param name="delimiter">コマンドラインオプション名の区切り文字</param> 50 77 public CommandLineParser(Char delimiter) 51 78 { … … 54 81 Prefix = delimiter.ToString() + delimiter; 55 82 ValueParamDelimiter = new char[] { '=', ':' }; 83 Strict = false; 56 84 57 85 _type = typeof(T); … … 177 205 return default(T); 178 206 179 if ( !_availableOptions.ContainsKey(memberName) && !_availableOptions.ContainsKey(parts[0]))207 if (Strict && !_availableOptions.ContainsKey(memberName) && !_availableOptions.ContainsKey(parts[0])) 180 208 { 181 209 //Debug.WriteLine(String.Format("Unknown option '{0}'", parts[0])); 182 //throw new ArgumentException("invalid argument", parts[0]); 183 continue; 210 throw new ArgumentException("invalid argument", parts[0]); 184 211 } 185 212
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)