/// <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); } }
/// <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); }
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); } }