【问题标题】:NonSerialized dind't work非序列化不起作用
【发布时间】:2011-07-29 14:08:01
【问题描述】:

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

[Serializable]
public class DicData
{

    private GDicJson DeserializedGDicJson = new GDicJson();
    public UOCDicData BuiltDicData;                        

    [NonSerialized]
    public string CacheName = "";                          


}

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

这里正在序列化 rutine。

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

【问题讨论】:

    标签: c# xml serialization


    【解决方案1】:

    XmlSerializer 你想要的

    [XmlIgnore]
    

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

    最后一点:不鼓励使用公共字段;属性总是首选。 {get;set;} 的添加将大有帮助...

    【讨论】:

    • 马克是对的。 XmlSerializer 不关心 [Serializable][NonSerialized] 属性。
    猜你喜欢
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2012-09-18
    • 1970-01-01
    • 2016-09-21
    • 2013-03-21
    • 1970-01-01
    相关资源
    最近更新 更多