的序列化、反序列化

 public class  SerializeHelper
    {
        public static T Deserialize <T>(Stream stream)
        {
            try
            {
                 Serializer  Serializer = new  Serializer(typeof(T));
                 TextReader reader = new  TextReader(stream);
                T obj = (T) Serializer.Deserialize(reader);
                reader.Close();
                return obj;
            }
            catch (Exception e)
            {
                throw new Exception(\"[ helper:Deserialize ]\" + e.Message, e);
            }
        }

        public static void Serialize <T>(T obj, Stream stream)
        {
            try
            {
                 SerializerNamespaces ns = new  SerializerNamespaces();
                ns.Add(\"\", \"\");//不输出 ns
                 Serializer  Serializer = new  Serializer(typeof(T));
                 TextWriter writer = new  TextWriter(stream, Encoding.UTF8);
                writer.Indentation = 4;
                writer.Formatting = Formatting.Indented;
                 Serializer.Serialize(writer, obj, ns);
                writer.Close();
            }
            catch (Exception e)
            {
                throw new Exception(\"[ helper:Serialize ]\" + e.Message, e);
            }
        }

        public static T Deserialize <T>(string filepath)
        {
            try
            {
                 Serializer  Serializer = new  Serializer(typeof(T));
                 TextReader reader = new  TextReader(filepath);
                T obj = (T) Serializer.Deserialize(reader);
                reader.Close();
                return obj;
            }
            catch (Exception e)
            {
                throw new Exception(\"[ helper:Deserialize ]\" + e.Message, e);
            }
        }

        public static void Serialize <T>(T obj, string filepath)
        {
            try
            {
                 SerializerNamespaces ns = new  SerializerNamespaces();
                ns.Add(\"\", \"\");//不输出 ns
                 Serializer  Serializer = new  Serializer(typeof(T));
                 TextWriter writer = new  TextWriter(filepath, Encoding.UTF8);
                writer.Indentation = 4;
                writer.Formatting = Formatting.Indented;
                 Serializer.Serialize(writer, obj, ns);
                writer.Close();
            }
            catch (Exception e)
            {
                throw new Exception(\"[ helper:Serialize ]\" + e.Message, e);
            }
        }
    }
收藏 打印