Ejemplo n.º 1
0
        public void Add(string name, string value)
        {
            if (string.IsNullOrEmpty(name))
            {
                return;
            }

            name = Uri.UnescapeDataString(name);
            if (fItems.ContainsKey(name))
            {
                QueryStringValue itemValue = fItems[name];
                if (itemValue == null)
                {
                    fItems[name] = QueryStringValue.Create(value);
                }
                else
                {
                    itemValue.Add(value);
                }
            }
            else
            {
                fItems.Add(name, QueryStringValue.Create(value));
            }
        }
        public void ReadElement(SimpleElementAttribute attribute, object reader,
                                object receiver, ReadSettings settings, ObjectPropertyInfo info, object serializerData)
        {
            if (attribute.IsMultiple)
            {
                QueryStringValue itemValue = GetValue(reader, info.LocalName);
                if (itemValue == null)
                {
                    return;
                }
                var itemValues = itemValue.Values;
                if (itemValues == null)
                {
                    return;
                }

                foreach (var item in itemValues)
                {
                    object objValue = SerializerUtil.GetPropertyObject(receiver, settings, info,
                                                                       item, attribute.AutoTrim);
                    SerializerUtil.AddElementValue(attribute, receiver, info, objValue);
                }
            }
            else
            {
                SerializerUtil.SetObjectValue(receiver, settings, info,
                                              GetValue(reader, info.LocalName).ConvertToString(), attribute.AutoTrim);
            }
        }