public QueryStringParameterFormatAttribute(Type formatter, params object[] arguments) { if (formatter == null) { throw new ArgumentNullException(nameof(formatter)); } if (typeof(QueryStringParameterFormatter).IsAssignableFrom(formatter) == false) { throw new ArgumentException(nameof(formatter)); } Formatter = (QueryStringParameterFormatter)Activator.CreateInstance(formatter, arguments); }
public QueryStringBuilder AppendParameter(string key, IEnumerable values, QueryStringParameterFormatter formatter, bool @override) { _parameters.Remove(key); foreach (var value in values) { if (value == null) { continue; } var method = AppendMethod(typeof(string), GetType(value), typeof(QueryStringParameterFormatter), typeof(bool)); var _ = method == null ? Process(key, value, false) : method.Invoke(this, new[] { key, value, formatter, false }); } return(this); }
private QueryStringBuilder AppendParameter(string key, float value, QueryStringParameterFormatter formatter, bool @override) => AppendParameter(key, formatter.Format(value), @override);