namespace TBL.CSharp.Serialization
{
///
/// 可使用非安全序列化的对象接口
/// 非安全序列化的优点是效率极高,适合网络传输;缺点是自身不包含任何类型信息,不适合作为存档等用途
///
public unsafe interface IUnsafeSerializable
{
///
/// 序列化
///
/// 要序列化到的目标数据区
/// 序列化数据的字节数
int Serialize(byte* data);
///
/// 反序列化
///
/// 要反序列化的来源数据区
/// 反序列化数据的字节数
int Deserialize(byte* data);
///
/// 同
/// 但会进行端序转换
///
int SerializeWithEndianConversion(byte* data);
///
/// 同
/// 但会进行端序转换
///
int DeserializeWithEndianConversion(byte* data);
///
/// 计算序列化字节数
///
int CalcSerializationSize();
///
/// 当此对象反序列化时,是否应该使用构造方法初始化
/// 如果为否,反序列化时创建的对象将不会使用构造方法
///
bool IsShouldInitializeWhenDeserialize();
}
}