(轉)C#.NET如何不序列化欄位、屬性

來源:互聯網
上載者:User

標籤:

C#.NET如何不序列化欄位、屬性
  • 當我們使用公開屬性以及公開欄位時,都可以順利的被序列化,

     

    view sourceprint?01.[Serializable]02.public class MyClass03.{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 Age13.    {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 MyClass03.{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 Age17.    {18.        get { return _age; }19.        set { _age = value; }20.    }21.}

    Xml序列化,忽略Age屬性  

     

    JSON序列化,忽略Age屬性  

     

    BinaryFormatter序列化忽略 Age屬性 及 ID 欄位  

(轉)C#.NET如何不序列化欄位、屬性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.