Ejemplo n.º 1
0
        public object Deserialize(
            StreamReader streamReader,
            SerializationContext serializationContext,
            PropertyMetaData propertyMetaData = null)
        {
            object obj = null;
            long   streamReaderPosition = streamReader.Position;

            try
            {
                obj = this.DeserializerLambda(streamReader, serializationContext);
            }
            catch (Exception e)
            {
                Probe pb = serializationContext.BeginProbe();
                try
                {
                    streamReader.Position = streamReaderPosition;
                    obj = this.DeserializerLambda(streamReader, serializationContext);
                }
                catch (Exception)
                {
                }
                serializationContext.EndProbe(pb);
                throw new Exception("TypeSerializer failed (" + this.Type.ToString() + ")." + Environment.NewLine + e.Message + string.Join(Environment.NewLine, pb.DiagnosticInfo) + Environment.NewLine, e);
            }
            return(obj);
        }
 private void EndProbeSerialize(
     StreamWriter streamWriter,
     SerializationContext serializationContext,
     object value,
     PropertyMetaData propertyMetaData,
     Probe probe)
 {
     probe.DiagnosticInfo.Length = streamWriter.Position - probe.DiagnosticInfo.Offset;
     serializationContext.EndProbe(probe);
 }
 private void EndProbeDeserialize(
     StreamReader streamReader,
     SerializationContext serializationContext,
     PropertyMetaData propertyMetaData,
     object deserializedObject,
     Probe probe)
 {
     probe.DiagnosticInfo.Length = streamReader.Position - probe.DiagnosticInfo.Offset;
     probe.DiagnosticInfo.Value  = deserializedObject;
     serializationContext.EndProbe(probe);
 }
 public object Deserialize(
     StreamReader streamReader,
     SerializationContext serializationContext,
     PropertyMetaData propertyMetaData = null)
 {
     object obj = null;
     long streamReaderPosition = streamReader.Position;
     try
     {
         obj = this.DeserializerLambda(streamReader, serializationContext);
     }
     catch (Exception e)
     {
         Probe pb = serializationContext.BeginProbe();
         try
         {
             streamReader.Position = streamReaderPosition;
             obj = this.DeserializerLambda(streamReader, serializationContext);
         }
         catch (Exception)
         {
         }
         serializationContext.EndProbe(pb);
         throw new Exception("TypeSerializer failed ("+this.Type.ToString()+")." + Environment.NewLine + e.Message + string.Join(Environment.NewLine, pb.DiagnosticInfo) + Environment.NewLine, e);
     }
     return obj;
 }
 private void EndProbeSerialize(
     StreamWriter streamWriter, 
     SerializationContext serializationContext, 
     object value, 
     PropertyMetaData propertyMetaData, 
     Probe probe)
 {
     probe.DiagnosticInfo.Length = streamWriter.Position - probe.DiagnosticInfo.Offset;
     serializationContext.EndProbe(probe);
 }
 private void EndProbeDeserialize(
     StreamReader streamReader, 
     SerializationContext serializationContext, 
     PropertyMetaData propertyMetaData, 
     object deserializedObject, 
     Probe probe)
 {
     probe.DiagnosticInfo.Length = streamReader.Position - probe.DiagnosticInfo.Offset;
     probe.DiagnosticInfo.Value = deserializedObject;
     serializationContext.EndProbe(probe);
 }