简体   繁体   English

NonSerialized无法工作

[英]NonSerialized dind't work

i'm serialization a class but i can't exclude some field in my class. 我是一个类的序列化,但我不能排除我班上的一些字段。

[Serializable]
public class DicData
{

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

    [NonSerialized]
    public string CacheName = "";                          


}

in my expection, a public field CacheName didn't include in my *.xml deserialized output, but it included in .xml file. 在我的预期中,公共字段CacheName未包含在我的* .xml反序列化输出中,但它包含在.xml文件中。

here are serializing rutine. 这里是序列化rutine。

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

For XmlSerializer you want 对于你想要的XmlSerializer

[XmlIgnore]

Also, note that the [Serializable] is unnecessary in this case. 另请注意,在这种情况下, [Serializable]是不必要的。

As a final note: public fields are not encouraged; 最后一点:不鼓励公共领域; properties are almos always preferred. 属性是almos总是首选。 The addition of {get;set;} would go a long way... 添加{get;set;}会有很长的路要走......

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM