我想自定义序列化过程,所以实现了ISerializable,添加了规定必须写的两个函数。别的代码没有改动。运行时发现自定义的代码没有被调用,序列化的结果和以前一样。请问这是为什么?谢谢

解决方案 »

  1.   

    public class windowsSystemPerformanceRating: ISerializable...       public void GetObjectData(SerializationInfo info, 
               StreamingContext context)
           {
               if(!(minimumField < 0))
                 info.AddValue("minimum", minimumField);
               if(!(recommendedField < 0))
                 info.AddValue("recommended", recommendedField);
           }       public windowsSystemPerformanceRating(SerializationInfo info, StreamingContext context)
           {
               minimumField = info.GetDecimal("minimum");
               ....
           }你说的是这个代码么?
      

  2.   

    我找到原因了,ISerializable只适用于二进制和SOAP序列化,自定义XML序列化可通过IXmlSerializable实现,需要实现GetSchema,ReadXml,WriteXml三个方法。