Beispiel #1
0
        private static void WriteIDictionary(TextWriter writer, IDictionary map,
                                             QueryStringTypeSerializerSettings settings)
        {
            var serializer = new QueryStringTypeSerializer(settings);
            var ranOnce    = false;

            foreach (var key in map.Keys)
            {
                var dictionaryValue = map[key];
                if (dictionaryValue == null)
                {
                    continue;
                }

                if (ranOnce)
                {
                    writer.Write("&");
                }
                else
                {
                    ranOnce = true;
                }

                WriteValue(serializer, writer, key);
                writer.Write("=");
                WriteValue(serializer, writer, dictionaryValue);
            }
        }
Beispiel #2
0
        private static void WriteType(TextWriter writer, object value, QueryStringTypeSerializerSettings settings)
        {
            var type       = value.GetType();
            var props      = type.GetSerializableProperties();
            var serializer = new QueryStringTypeSerializer(settings);

            for (var i = 0; i < props.Length; i++)
            {
                var pi     = props[i];
                var pValue = pi.GetValue(value);
                if (pValue == null)
                {
                    continue;
                }

                if (i > 0)
                {
                    writer.Write('&');
                }

                writer.Write(GetPropertyName(pi));
                writer.Write("=");

                WriteValue(serializer, writer, pValue);
            }
        }