/// <summary> /// Deserialize an object. /// </summary> /// <param name="entityReader"> /// The entity reader. /// </param> /// <param name="destinationType"> /// The destination type. /// </param> /// <param name="serialized"> /// The serialized object. /// </param> /// <param name="count"> /// The size of the serialized object. /// </param> /// <param name="deserializingEntity"> /// The deserializing entity delegate. /// </param> /// <returns> /// The deserialized object. /// </returns> internal static object Deserialize(EntityReader entityReader, Type destinationType, byte[] serialized, int count, DeserializingEntity deserializingEntity) { using (var binaryReader = new BinaryArrayReader(serialized, 0, count)) { return(new EntityDeserializer(entityReader, binaryReader, deserializingEntity).Deserialize( destinationType, Decoder.ReadTag(binaryReader))); } }
/// <summary> /// Deserialize an object. /// </summary> /// <param name="entityReader"> /// The entity reader. /// </param> /// <param name="destinationType"> /// The destination type. /// </param> /// <param name="buffer"> /// The serialized object. /// </param> /// <param name="length"> /// The buffer length. /// </param> /// <param name="deserializingEntity"> /// The deserializing entity delegate. /// </param> /// <returns> /// The deserialized object. /// </returns> internal static object Deserialize(EntityReader entityReader, Type destinationType, IntPtr buffer, int length, DeserializingEntity deserializingEntity) { using (var binaryReader = new BinaryArrayReader(buffer, length)) { return(new EntityDeserializer(entityReader, binaryReader, deserializingEntity).Deserialize( destinationType, Decoder.ReadTag(binaryReader))); } }
/// <summary> /// Initializes a new instance of the <see cref="EntityDeserializer" /> class. /// </summary> /// <param name="entityReader"> /// The entity reader. /// </param> /// <param name="binaryReader"> /// The binary reader. /// </param> /// <param name="deserializingEntity"> /// The deserializing entity delegate. /// </param> private EntityDeserializer(EntityReader entityReader, BinaryReader binaryReader, DeserializingEntity deserializingEntity) : base(binaryReader) { this.entityReader = entityReader; this.entityScanner = entityReader.EntityScanner; this.entityBindingContext = this.entityScanner.EntityContext; this.deserializingEntity = deserializingEntity; }
/// <summary> /// Initializes a new instance of the <see cref="EntityDeserializer" /> class. /// </summary> /// <param name="entityReader"> /// The entity reader. /// </param> /// <param name="binaryReader"> /// The binary reader. /// </param> /// <param name="deserializingEntity"> /// The deserializing entity delegate. /// </param> private EntityDeserializer(EntityReader entityReader, BinaryReader binaryReader, DeserializingEntity deserializingEntity) : base(binaryReader, entityReader.EntityScanner.EntityContext.Configuration.Context) { this.entityReader = entityReader; this.entityScanner = entityReader.EntityScanner; this.entityContext = this.entityScanner.EntityContext; this.deserializingEntity = deserializingEntity; }