Пример #1
0
 /// <summary>
 /// 转换给定的值
 /// </summary>
 /// <param name="type">值的类型</param>
 /// <param name="value">给定的值,如果为null则返回默认设定项</param>
 /// <returns></returns>
 public static object ConvertToObject(Type type, string value)
 {
     if (Oct.IsNull(value))
     {
         if (type == ST.String)
         {
             return(string.Empty);
         }
         return(type.Assembly.CreateInstance(type.FullName));
     }
     if (ToObjectMap.ContainsKey(type))
     {
         Delegate method = (Delegate)ToObjectMap[type];
         return(method.DynamicInvoke(new object[] { value }));
     }
     else
     {
         if (type.BaseType == SystemTypes.Enum)
         {
             Enum enumValue = Oct.ToEnum(type, value);
             return(enumValue);
         }
         return(null);
     }
 }
Пример #2
0
        /// <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);
        }
Пример #3
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);
     }
 }