c# - 是否可以将字段反序列化为属性?
问题描述
我想将字段更改为属性,但这会导致反序列化问题。
是否有可能从字段反序列化为属性?
从 Field 更改为 Property 后,反序列化的值为 null。
// Old Class
public class myClass
{
public string limits = "";
}
// New Class
public class myClass
{
public string limits { get; set; } = "";
}
// Code for deserializing byte array (arrBytes)
using (var memStream = new MemoryStream())
{
var binForm = new BinaryFormatter();
memStream.Write(arrBytes, 0, arrBytes.Length);
memStream.Seek(0, SeekOrigin.Begin);
var obj = binForm.Deserialize(memStream);
return obj;
}
有什么方法可以支持从字段到属性的更改?
解决方案
您可以按原样保留序列化,并在字段周围包装一个属性。
public class myClass
{
public string limits = "";
public string Limits {
get { return limits; }
set { limits = value; }
}
}