[英]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.