首页 > 解决方案 > 是否可以将字段反序列化为属性?

问题描述

我想将字段更改为属性,但这会导致反序列化问题。

是否有可能从字段反序列化为属性?

从 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;
}

有什么方法可以支持从字段到属性的更改?

标签: c#deserialization

解决方案


您可以按原样保留序列化,并在字段周围包装一个属性。

public class myClass
{
    public string limits = "";

    public string Limits {
        get { return limits; }
        set { limits = value; }
    }

}

推荐阅读