如果一个对象要能够序列化和反序列化,其中的属性必须要有get和set访问器,有没有方法能够让set访问器只在反序列化的时候才能使用?

解决方案 »

  1.   

    其实这个属性本不应该有set方法,是为了反序列化不得不加
      

  2.   

    既然你都增加了一个Set,为什么不让别人用,别人用过出现bug那么你的Set肯定是错误的。
      

  3.   

    难道你说的不是这种序列化?
    http://www.cnblogs.com/qqflying/archive/2008/01/13/1037262.html和属性不属性有半毛钱关系?
      

  4.   

    LZ,你改写Set方法就行了。把里面的value赋值,去掉。
      

  5.   

    你说的是Xml序列化吧,二进制序列化是序列字段,私有的字段一样可以序列化,Xml序列化泛型集合类型的属性没有set块一样可以序列化,你可以参考这个帖子
    关于XML系列化问题
    另外你要序列化的类可以实现IXmlSerializable接口,提供自定义Xml序列化实现
      

  6.   

    set的时候想办法判断一下是否已赋值,否则抛弃