protected virtual void SerializeValue(XmlElement node, object value) { IObjectFormater formater = null; if (value != null) { formater = ObjectFormaters.GetFormater(value.GetType()); } if (formater != null) { formater.SerializeValue(node, value); node.SetAttribute("type", formater.Name); } else if (value != null) { node.SetAttribute("value", ST.ToString(value, false)); } }
protected virtual object DeserializeValue(XmlElement node) { if (node == null) { throw new ArgumentNullException(); } var type = node.GetAttribute("type"); if (!string.IsNullOrEmpty(type)) { IObjectFormater formater = ObjectFormaters.GetFormater(type); if (formater != null) { return(formater.DeserializeValue(node)); } } return(node.GetAttribute("value")); }