public static void DeepWriteToFile <T>(string filename, T obj) { #if !__WP8__ var deepSerializer = new XmlDeepSerializer(); deepSerializer.Serialize(obj, filename); #else var serializer = new System.Runtime.Serialization.DataContractSerializer(obj.GetType()); using (var sw = new FileStream(filename, FileMode.OpenOrCreate)) using (var xw = System.Xml.XmlWriter.Create(sw)) serializer.WriteObject(xw, obj); #endif }
public static string DeepWriteToString <T>(T obj) { #if !__WP8__ var deepSerializer = new XmlDeepSerializer(); var stringBuilder = new StringBuilder(); deepSerializer.Serialize(obj, new StringWriter(stringBuilder)); return(stringBuilder.ToString()); #else var serializer = new System.Runtime.Serialization.DataContractSerializer(obj.GetType()); var sb = new StringBuilder(); using (var sw = new StringWriter(sb)) using (var xw = System.Xml.XmlWriter.Create(sw)) serializer.WriteObject(xw, obj); return(sb.ToString()); #endif }