C# 非序列化dind';行不通
我正在序列化一个类,但不能排除类中的某些字段C# 非序列化dind';行不通,c#,xml,serialization,C#,Xml,Serialization,我正在序列化一个类,但不能排除类中的某些字段 [Serializable] public class DicData { private GDicJson DeserializedGDicJson = new GDicJson(); public UOCDicData BuiltDicData; [NonSerialized] public string CacheName = "";
[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;}
将大有帮助……Marc是正确的。XmlSerializer不关心[Serializable]
或[NonSerialized]
属性。