Пример #1
0
        private void TypeConvertAndLoad(object obj, XmlConfiguration config)
        {
            TypeConvertAndLoad(obj,
                               (property, targetType, typeConverter) =>
            {
                var text = getValue(config, property);

                if (string.IsNullOrEmpty(text))
                {
                    return;
                }

                var value = typeConverter.ConvertFromString(text);
                property.SetValue(obj, value, null);
            },
                               (strList, index, property) =>
            {
                var key =
                    config.AppSettings.Settings.AllKeys.FirstOrDefault(
                        k => k == property.Name + string.Format("[{0}]", index));
                if (!string.IsNullOrEmpty(key))
                {
                    strList.Add(config.AppSettings.Settings[key].Value);
                }
            });
        }
Пример #2
0
 private void TypeConvertAndSave(object obj, XmlConfiguration config)
 {
     TypeConvertAndSave(obj, (property, valueType, typeConverter) =>
     {
         config.AppSettings.Settings.Remove(property.Name);
         config.AppSettings.Settings.Add(property.Name,
                                         typeConverter.ConvertToString(null, null, property.GetValue(obj, null)));
     },
                        (array, property, typeConverter) =>
     {
         config.AppSettings.Settings.RemoveSimilar(property.Name);
         for (int i = 0; i < array.Length; i++)
         {
             if (typeConverter.CanConvertTo(typeof(string)))
             {
                 config.AppSettings.Settings.Add(
                     property.Name + string.Format("[{0}]", i),
                     typeConverter.ConvertToString(null, null, array.GetValue(i)));
             }
         }
     },
                        config.Save
                        );
 }
Пример #3
0
 public XmlAppSettingsSection(XmlConfiguration ownerDocument, XmlElement xmlElement)
 {
     OriginalXmlElement = xmlElement;
     OwnerDocument = ownerDocument;
 }
Пример #4
0
        private static string getValue(XmlConfiguration config, PropertyInfo property)
        {
            var element = config.AppSettings.Settings[property.Name];

            return(element == null ? string.Empty : element.Value);
        }
Пример #5
0
 public XmlAppSettingsSection(XmlConfiguration ownerDocument, XmlElement xmlElement)
 {
     OriginalXmlElement = xmlElement;
     OwnerDocument      = ownerDocument;
 }