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

https://www.cnblogs.com/LuoCore/p/14452227.html

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

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

/// <summary>
 /// 序列化
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 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;
 }
 /// <summary>
 /// 反序列化
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="data"></param>
 /// <returns></returns>
 private static T Deserialize<T>(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;
  }
(0)

相关推荐