• 序列化类,将类转为二进制


    因为需要把复杂事物组合放进数据库,因此采用了将类转成二进制,直接插入到一个字段
    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;
            }

        }

  • 相关阅读:
    js随机模块颜色
    可以随鼠标拖拽的div
    js动弹特效
    正则表达式-表单验证
    get你想象不到的技能
    文字列表滚动(文字轮播)
    jQuery
    jQuery中效果animate方法解决width是百分比出现的问题
    iscroll在谷歌浏览器中bug
    js倒计时 手机休眠时 时间不进行减少
  • 原文地址:https://www.cnblogs.com/soonfly/p/1550830.html
Copyright © 2020-2023  润新知