コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 private QueryStringBuilder AppendParameter(string key, float value, QueryStringParameterFormatter formatter, bool @override)
 => AppendParameter(key, formatter.Format(value), @override);