using System.IO; using System.Runtime.Serialization.Formatters.Soap; using System.Xml.Serialization; namespace ToolKit.FileToolkit { public class SerializeTool { public static T SoapFormatterDeserialize(byte[] data) { using (MemoryStream stream = new MemoryStream(data)) { SoapFormatter formatter = new SoapFormatter(); return (T) formatter.Deserialize(stream); } } public static byte[] SoapFormatterSerialize(T obj) { using (MemoryStream stream = new MemoryStream()) { new SoapFormatter().Serialize(stream, obj); return stream.ToArray(); } } public static T XmlSerializerDeserialize(byte[] data) { using (MemoryStream stream = new MemoryStream(data)) { XmlSerializer serializer = new XmlSerializer(typeof(T)); return (T) serializer.Deserialize(stream); } } public static byte[] XmlSerializerSerialize(T obj) { using (MemoryStream stream = new MemoryStream()) { new XmlSerializer(typeof(T)).Serialize((Stream) stream, obj); return stream.ToArray(); } } } }