老版本类有28个成员属性将此类包含28个成员全部序列化进二进制流并存于数据库内.新版本类中添加4个成员属性反序列化时说只有28个成员,但现在却有32个成员.就不能反序列化了?请:
高手解......

解决方案 »

  1.   

    你可以让它实现ISerializable来做自定义的反序列化。
    在构造函数中写入        public User(SerializationInfo info, StreamingContext context)
            {
                if (info.MemberCount == 32)
                {                f1 = info.GetString("f1");
                    f2 = info.GetInt32("f2");
                    f3 = info.GetDateTime("f3");
                    f3 = info.GetDateTime("f4");
                }        }建议使用XML 序列化,一般不会碰到这个问题。
      

  2.   

    好像无论是XmlSerializer还是BinaryFormatter都不会出楼主说的问题