internal void Serialize(Stream stream, object graph) { int size = ObjectBufferSerializer.GetSize(this, graph); ObjectWriter buffer = new ObjectWriter(size); Serializer(buffer, graph); stream.Write(buffer.GetBuffer(), 0, buffer.position); }
/// <summary> /// 计算对象的内存占用情况 /// </summary> /// <param name="value"></param> /// <returns></returns> public static long Sizeof(object value) { return(ObjectBufferSerializer.Sizeof(value)); }
public static object BinaryDeserialize(byte[] buffer, Type type) { ObjectReader stream = new ObjectReader(buffer); return(ObjectBufferSerializer.Deserialize(stream, type)); }
public static T BinaryDeserialize <T>(byte[] buffer) { ObjectReader stream = new ObjectReader(buffer); return(ObjectBufferSerializer.Deserialize <T>(stream)); }
public static void BinarySerialize(Stream stream, object graph) { ObjectBufferSerializer.Serialize(stream, graph); }
//public static T Deserialize<T>(string value, SerializerSettings settings) where T : class //{ // throw new Exception("Not supported,it will implementation in next versions"); //} //public static T FromJson<T>(this string json) where T : class //{ // //return Deserialize<T>(new JsonStream()); // throw new Exception("Not supported,it will implementation in next versions"); //} #endregion #region Bin Serialize /// <summary> /// 序列化成二进制数据 /// </summary> /// <param name="graph"></param> /// <returns></returns> public static byte[] BinarySerialize(object graph) { return(ObjectBufferSerializer.Serialize(graph)); }