Пример #1
0
        public void AddArguments(string[] args)
        {
            ArgumentEnum[] argumentsEnum = typeof(ArgumentEnum).GetArray <ArgumentEnum>();

            IEnumerable <ArgumentAttribute> argumentAttributes = argumentsEnum.GetArgumentAttributes();

            string[] argumentsKeys = argumentAttributes.GetKeys();

            for (int i = 0; i < args.Length; i++)
            {
                if (!args.IsLast(i))
                {
                    if (argumentsKeys.Contains(args[i]) && !argumentsKeys.Contains(args[i + 1]))
                    {
                        string key   = args[i];
                        string value = args[i + 1];

                        int          indexOfKey = Array.IndexOf(argumentsKeys, key);
                        ArgumentEnum enumOfKey  = argumentsEnum[indexOfKey];

                        if (!_arguments.TryAdd(enumOfKey, value))
                        {
                            _arguments[enumOfKey] = value;
                        }
                    }
                }
            }

            ArgumentEnum?argumentMissing = _arguments.ValidateArgumentsRequerid();

            if (argumentMissing.HasValue)
            {
                throw new ArgumentException(string.Format("{0} was not specified", argumentMissing.Value.ToString()));
            }
        }
Пример #2
0
 public string GetValue(ArgumentEnum @enum)
 {
     return(_arguments.ContainsKey(@enum) ? _arguments[@enum] : string.Empty);
 }