/// <summary>
        /// 添加节点
        /// </summary>
        /// <param name="member"></param>
        /// <param name="value"></param>
        void AddSetting(ObjectField member, object value)
        {
            var name     = member.Name;
            var valuestr = string.Empty;

            if (!Oct.IsNull(value))
            {
                valuestr = Oct.ToString(value);
            }
            var node = appSettings.OwnerDocument.CreateNode(XmlNodeType.Element, "add", null);

            appSettings.AppendChild(node);
            var key = appSettings.OwnerDocument.CreateAttribute("key");

            key.Value = name;
            node.Attributes.Append(key);
            var valattr = appSettings.OwnerDocument.CreateAttribute("value");

            valattr.Value = valuestr;
            node.Attributes.Append(valattr);
            var destxt = appSettings.OwnerDocument.CreateAttribute("desc");

            destxt.Value = member.GetXmlDescription();
            node.Attributes.Append(destxt);
        }
Esempio n. 2
0
 public static string ConvertToString(Type type, object value)
 {
     if (Oct.IsNull(value))
     {
         return(null);
     }
     if (ToStringMap.ContainsKey(type))
     {
         Delegate method = (Delegate)ToStringMap[type];
         return((string)method.DynamicInvoke(new object[] { value }));
     }
     else
     {
         if (type.BaseType == SystemTypes.Enum)
         {
             return(Oct.ToString(value));
         }
         return(null);
     }
 }
        /// <summary>
        /// 更新节点
        /// </summary>
        /// <param name="member"></param>
        /// <param name="value"></param>
        /// <param name="node"></param>
        void updateSetting(ObjectField member, object value, XmlNode node)
        {
            var valattr = node.GetAttrib("value");

            if (valattr == null)
            {
                valattr = appSettings.OwnerDocument.CreateAttribute("value");
                node.Attributes.Append(valattr);
            }
            valattr.Value = Oct.ToString(value);
            RemoveSummary(node);

            var descAt = node.GetAttrib("desc");

            if (descAt == null)
            {
                descAt = appSettings.OwnerDocument.CreateAttribute("desc");
                node.Attributes.Append(descAt);
            }
            descAt.Value = member.GetXmlDescription();
        }