首页 > 代码库 > C#.NET如何不序列化字段、属性

C#.NET如何不序列化字段、属性

当我们使用公开属性以及公开字段时,都可以顺利的被序列化,

 

view sourceprint?
01.[Serializable]
02.public class MyClass
03.{
04.    public int ID;
05.
06.    public string Address;
07.
08.    private int _age;
09.
10.    public string Name { get; set; }
11.
12.    public int Age
13.    {
14.        get { return _age; }
15.        set { _age = value; }
16.    }
17.}

Xml序列化成档案后的结果就像下图:

\

JSON

\

bin,因为bin档案肉眼看不懂,所以用反序列化表示

 

\

但总是会有不想要存成档案的字段或属性

JSON及XML 若是不想被序列化 "属性" 及 "字段" 使用以下Attribute:

[System.Xml.Serialization.XmlIgnore] [System.Web.Script.Serialization.ScriptIgnore] BinaryFormatter 若是不想被序列化 "属性" 只要在相对应的 "字段" 使用以下:[NonSerialized] 看个例子:

view sourceprint?
01.[Serializable]
02.public class MyClass
03.{
04.    [NonSerialized]
05.    public int ID;
06.
07.    public string Address;
08.
09.    [NonSerialized]
10.    private int _age;
11.
12.    public string Name { get; set; }
13.
14.    [System.Xml.Serialization.XmlIgnore]
15.    [System.Web.Script.Serialization.ScriptIgnore]
16.    public int Age
17.    {
18.        get { return _age; }
19.        set { _age = value; }
20.    }
21.}

Xml序列化,忽略Age属性

\

JSON序列化,忽略Age属性

\

BinaryFormatter序列化忽略 Age属性 及 ID 字段

\

C#.NET如何不序列化字段、属性