/// <summary> /// Serializes object to the specified writer. /// </summary> /// <param name="writer">Data writer.</param> /// <param name="obj">Source object.</param> protected virtual void Serialize(IDataWriter writer, object obj) { if (null == obj) { writer.WriteNull(); } else { TypeSerializerFactory.GetSerializer(obj.GetType(), ServiceProvider).WriteObject(obj, writer, ServiceProvider); } }
/// <summary> /// Deserializes object from reader. /// </summary> /// <param name="reader">Data reader.</param> /// <param name="type">Target object type.</param> /// <returns>Deserialized object.</returns> protected virtual object Deserialize(IDataReader reader, Type type) { return(TypeSerializerFactory.GetSerializer(type, ServiceProvider).ReadObject(reader, ServiceProvider)); }