public ArgumentCheckResult Check(string arg) { if (!arg.StartsWith(SwitchToString() + Switch + SeparatorToString())) { return(ArgumentCheckResult.Failed(this, CheckResult.Wrong, "")); } if (IsSet) { if (!IsSeveralTimes) { return(ArgumentCheckResult.Failed(this, CheckResult.IsAlreadySet, "Is already set")); } } String sub = arg.Substring(arg.IndexOf(SeparatorToString()) + 1); if (RegularExpression != null) { if (!RegularExpression.Match(sub).Success) { return(ArgumentCheckResult.Failed(this, CheckResult.Fatal, "The arguments structure is wrong (Regular Expression)!")); } } IsSet = true; valueList.Add((T)(sub as IConvertible).ToType(typeof(T), null)); return(ArgumentCheckResult.OK()); //switch (BaseType) //{ // case ArgumentBaseType.String: // IsSet = true; // valueList.Add(sub); // return ArgumentCheckResult.OK(); // case ArgumentBaseType.Integer: // int i = 0; // if (!Int32.TryParse(sub, out i)) // return ArgumentCheckResult.Failed(this, CheckResult.Fatal, "No integer (e. g. 1234)"); // valueList.Add(i); // IsSet = true; // return ArgumentCheckResult.OK(); // case ArgumentBaseType.Decimal: // double d = 0; // if (!Double.TryParse(sub, out d)) // return ArgumentCheckResult.Failed(this, CheckResult.Fatal, "No double (e. g. 1.234)"); // valueList.Add(d); // IsSet = true; // return ArgumentCheckResult.OK(); // default: // throw new NotImplementedException(); //} }
public ArgumentCheckResult Check(string arg) { if (arg.Equals(SwitchToString() + Switch)) { if (IsSet) { return(ArgumentCheckResult.Failed(this, CheckResult.IsAlreadySet, "Is already set")); } IsSet = true; return(ArgumentCheckResult.OK()); } return(ArgumentCheckResult.Failed(this, CheckResult.Wrong, "")); }
public ArgumentCheckResult Check(string arg) { //Safe the switch(ed content) arguments if (arg.StartsWith("-") || arg.StartsWith("+") || arg.StartsWith("/") || arg.StartsWith("--")) { return(ArgumentCheckResult.Failed(this, CheckResult.Wrong, "")); } if (RegularExpression != null) { if (!RegularExpression.Match(arg).Success) { return(ArgumentCheckResult.Failed(this, CheckResult.Fatal, "The arguments structure is wrong (Regular Expression)!")); } } if (IsSet) { if (!IsSeveralTimes) { return(ArgumentCheckResult.Failed(this, CheckResult.IsAlreadySet, "Is already set")); } } valueList.Add((T)(arg as IConvertible).ToType(typeof(T), null)); IsSet = true; return(ArgumentCheckResult.OK()); //switch (BaseType) //{ // case ArgumentBaseType.String: // if (IsSet) // if (!IsSeveralTimes) // return ArgumentCheckResult.Failed(this, CheckResult.IsAlreadySet, "Is already set"); // valueList.Add(arg); // IsSet = true; // return ArgumentCheckResult.OK(); // case ArgumentBaseType.Integer: // int i; // if (!Int32.TryParse(arg, out i)) // return ArgumentCheckResult.Failed(this, CheckResult.Fatal, "No integer (e. g. 1234)"); // if (IsSet) // if (!IsSeveralTimes) // return ArgumentCheckResult.Failed(this, CheckResult.IsAlreadySet, "Is already set"); // valueList.Add(i); // IsSet = true; // return ArgumentCheckResult.OK(); // case ArgumentBaseType.Decimal: // double d; // if (!Double.TryParse(arg, out d)) // return ArgumentCheckResult.Failed(this, CheckResult.Fatal, "No double (e. g. 1.234)"); // if (IsSet) // if (!IsSeveralTimes) // return ArgumentCheckResult.Failed(this, CheckResult.IsAlreadySet, "Is already set"); // valueList.Add(d); // IsSet = true; // return ArgumentCheckResult.OK(); // default: // throw new NotImplementedException(); //} }