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


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

    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] 看个例子:

    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 字段

  • 相关阅读:
    新的开始!
    find命令之mtime
    glances服务器监控工具
    centos7最小化安装改为图形界面
    ansible笔记(3)-文件操作模块(上)
    php-fpm参数详解
    ansible笔记(2)-模块简介
    centos创建交换分区
    等保测评三级整改-身份鉴别
    vsftp安装配置
  • 原文地址:https://www.cnblogs.com/xuxiuxiu/p/4137837.html
Copyright © 2020-2023  润新知