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(); } }