/// <summary> /// Добавление параметра /// </summary> /// <param name="key">Ключ параметра</param> /// <param name="operation">Операция</param> /// <returns>Параметр строки</returns> public ParameterStringItem Add(string key, ParameterStringItem.OperationType operation) { var item = new ParameterStringItem(key, operation); Params.Add(key, item); return(item); }
/// <summary> /// Параметры объединяются через Or /// </summary> /// <param name="key"></param> /// <param name="left"></param> /// <param name="right"></param> public ParameterStringItem(string key, ParameterStringItem left, ParameterStringItem right) { Key = key; Operation = OperationType.Or; Value = new List <ParameterStringItem>() { left, right }; }
/// <summary> /// Доступ к элементу (read-only) /// </summary> /// <param name="key"></param> /// <returns></returns> public ParameterStringItem this[string key] { get { ParameterStringItem result = null; if (Params.ContainsKey(key)) { result = Params[key]; } return(result); } }
/// <summary> /// Добавление параметра /// </summary> /// <param name="operation">Операция</param> /// <param name="left">Левый операнд</param> /// <param name="right">Левый операнд</param> /// <returns>Параметр строки</returns> public ParameterStringItem Add(ParameterStringItem.OperationType operation, ParameterStringItem left, ParameterStringItem right) { if (operation != ParameterStringItem.OperationType.Or) { throw new Exception("Данная операция не реализована."); } var key = Guid.NewGuid().ToString(); var item = new ParameterStringItem(key, left, right); Params.Add(key, item); return(item); }
/// <summary> /// Парсинг строки и добавление параметров /// </summary> /// <param name="parameters"></param> public void AddParametersFromString(string parameters) { if (parameters != null && parameters.Length > 1) { string[] p = parameters.Split(';'); foreach (var parametr in p) { if (parametr.Length > 1) { var item = new ParameterStringItem(parametr); Params.Add(item.Key, item); } } } }
/// <summary> /// Добавление параметра /// </summary> /// <param name="item"></param> public ParameterStringItem Add(ParameterStringItem item) { Params.Add(item.Key, item); return(item); }