private T[] GetArrayByDelimiter <T>(string paramValue, ParamDelimiter delimiter) { var separator = new char[] { }; switch (delimiter) { case ParamDelimiter.Bracket: separator = new char[] { LeftSquareBracket, RightSquareBracket }; break; case ParamDelimiter.Comma: separator = new char[] { Comma }; break; case ParamDelimiter.VerticalLine: separator = new char[] { VerticalLine }; break; default: separator = new char[] { LeftSquareBracket, RightSquareBracket }; break; } var paramArray = paramValue.Split(separator, StringSplitOptions.RemoveEmptyEntries); return(Array.ConvertAll(paramArray, new Converter <string, T>(Converter <T>))); }
public T[] GetByName <T>(string name, ParamDelimiter delimiter) { var value = GetByName <string>(name); if (string.IsNullOrWhiteSpace(value)) { return(new T[] { }); } return(GetArrayByDelimiter <T>(value, delimiter)); }
public bool Contains <T>(string name, T value, ParamDelimiter delimiter) { var paramArray = GetByName <T>(name, delimiter); return(paramArray.Where(x => x.Equals(value)).Any()); }