C# .Net 5 中 Serialize 已过时 BinaryFormatter.Serialize(Stream, object)”已过时

2021-03-01 03:25

阅读:609

标签:name   memory   returns   ros   using   default   反序列化   data   soft   

https://www.cnblogs.com/wangbg/p/14020022.html

https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.serialization.datacontractserializer?view=net-5.0

 /// /// 序列化
        /// /// 
/// private static byte[] Serialize(object obj)
        {
            if (obj == null)
                return null;

            using var memoryStream = new MemoryStream();
            DataContractSerializer ser = new DataContractSerializer(typeof(object));
            ser.WriteObject(memoryStream, obj);
            var data = memoryStream.ToArray();
            return data;
        }

        /// /// 反序列化
        /// /// /// 
/// private static T Deserialize(byte[] data)
        {
            if (data == null)
                return default(T);

            using var memoryStream = new MemoryStream(data);
            XmlDictionaryReader reader = XmlDictionaryReader.CreateTextReader(memoryStream, new XmlDictionaryReaderQuotas());
            DataContractSerializer ser = new DataContractSerializer(typeof(T));
            var result = (T)ser.ReadObject(reader, true);
            return result;
        }

C# .Net 5 中 Serialize 已过时 BinaryFormatter.Serialize(Stream, object)”已过时

标签:name   memory   returns   ros   using   default   反序列化   data   soft   

原文地址:https://www.cnblogs.com/LuoEast/p/14452227.html


评论


亲,登录后才可以留言!