zoukankan      html  css  js  c++  java
  • 序列化类,将类转为二进制

    因为需要把复杂事物组合放进数据库,因此采用了将类转成二进制,直接插入到一个字段
    public static class Serializer
        {

            public static byte[] ToBinary<T>(this T o) where T : class, new()
            {
                byte[] bytes = null;
                DataContractSerializer dc = new DataContractSerializer(typeof(T));


                using (MemoryStream ms = new MemoryStream())
                {
                    //formatter.Serialize(ms, value);
                    dc.WriteObject(ms, o);
                    ms.Seek(0, 0);
                    bytes = ms.ToArray();
                }

                return bytes;
            }

            public static TResult FromBinary<TResult>(this TResult input, byte[] bits) where TResult : class, new()
            {
                TResult result = default(TResult);
                DataContractSerializer dc = new DataContractSerializer(typeof(TResult));
                //IFormatter formatter = new BinaryFormatter();
                using (MemoryStream ms = new MemoryStream(bits))
                {
                    result = (TResult)dc.ReadObject(ms);
                }

                return result;
            }

        }

  • 相关阅读:
    Don't Dismiss Georgia Tech's $6,600 Online Master's Degree
    Java SPI机制学习笔记
    Java SPI机制简介
    Java SPI机制
    Java SPI机制原理和使用场景
    中文代码之Spring Boot集成H2内存数据库
    H2数据库攻略
    JAVA 项目中使用 H2 数据库
    Java内存数据库-H2介绍及实例(SpringBoot)
    内存数据库-H2简介与实践
  • 原文地址:https://www.cnblogs.com/soonfly/p/1550830.html
Copyright © 2011-2022 走看看