-
当我们使用公开属性以及公开字段时,都可以顺利的被序列化,
[Serializable]
public class MyClass
{
public int ID;
public string Address;
private int _age;
public string Name { get; set; }
public int Age
{
get { return _age; }
set { _age = value; }
}
}Xml序列化成档案后的结果就像下图:
JSON
bin,因为bin档案肉眼看不懂,所以用反序列化表示
但总是会有不想要存成档案的字段或属性
JSON及XML 若是不想被序列化 "属性" 及 "字段" 使用以下Attribute:[System.Xml.Serialization.XmlIgnore]
[System.Web.Script.Serialization.ScriptIgnore]
BinaryFormatter 若是不想被序列化 "属性" 只要在相对应的 "字段" 使用以下:[NonSerialized] 看个例子:[Serializable]
public class MyClass
{
[NonSerialized]
public int ID;
public string Address;
[NonSerialized]
private int _age;
public string Name { get; set; }
[System.Xml.Serialization.XmlIgnore]
[System.Web.Script.Serialization.ScriptIgnore]
public int Age
{
get { return _age; }
set { _age = value; }
}
}Xml序列化,忽略Age属性
JSON序列化,忽略Age属性
BinaryFormatter序列化忽略 Age属性 及 ID 字段