using System.IO;
namespace TBL.CSharp.Serialization
{
///
/// 可使用 序列化的对象接口
/// 便于各类 C# API 体系来使用
///
public interface IStreamSerializable
{
///
/// 序列化
/// 应妥当地自行处理字节序兼容
///
/// 要序列化到的目标流
/// 是否进行端序转换
/// 序列化数据的字节数
int Serialize(Stream stream, bool withEndianConversion);
///
/// 反序列化
/// 应妥当地自行处理字节序兼容
///
/// 要反序列化的来源流
/// 是否进行端序转换
/// 反序列化数据的字节数
int Deserialize(Stream stream, bool withEndianConversion);
///
/// 当此对象反序列化时,是否应该使用构造方法初始化
/// 如果为否,反序列化时创建的对象将不会使用构造方法
///
bool IsShouldInitializeWhenDeserialize();
}
}