代码之家  ›  专栏  ›  技术社区  ›  mafu

使用NetDataContractSerializer进行选择性序列化

  •  0
  • mafu  · 技术社区  · 16 年前

    序列化这个类很好。但是,有时我想排除这个领域。这有可能吗?

    [DataContract]
    class Foo
    {
        [DataMember]
        Foo _Foo;
    }
    

    暂时将字段设置为空是不可能的。

    1 回复  |  直到 15 年前
        1
  •  0
  •   mafu    15 年前

    如果有人偶然发现同一个问题,我将展示我经过的解决方案。

    其理念是将原始字段外观如下:

    [DataContract]
    class Foo
    {
        Foo _FooOriginal;
    
        [DataMember]
        Foo _Foo {
            get {
                return whatever ? _FooOriginal : null;
            }
            set {
                _FooOriginal = value;
            }
        }
    }
    
    推荐文章