非序列化不工作

本文关键字:工作 序列化 | 更新日期: 2023-09-27 18:03:51

我正在序列化一个类,但是我不能排除我的类中的一些字段。

[Serializable]
public class DicData
{
    private GDicJson DeserializedGDicJson = new GDicJson();
    public UOCDicData BuiltDicData;                        
    [NonSerialized]
    public string CacheName = "";                          

}

在我的期望中,公共字段CacheName没有包含在我的*.xml反序列化输出中,但它包含在.xml文件中。

这里是序列化例程。

XmlSerializer myXml = new XmlSerializer(typeof(DicData), "test");
myXml.Serialize(myFile, this); //note:a serializing perform in method of himself.

非序列化不工作

对于XmlSerializer,您需要

[XmlIgnore]

另外,注意在这种情况下[Serializable]是不必要的。

最后注意:不鼓励使用公共字段;属性几乎总是首选。{get;set;}的加入会有很长的路要走…