namespace TBL.CSharp.Serialization
{
///
/// 可使用代理序列化的对象接口
/// 此类对象可以使用另一个可序列化对象来代理自身的序列化
///
public interface IProxiedSerializable
{
///
/// 代理序列化
///
/// 可参与序列化的此对象代理
object ProxiedSerialize();
///
/// 代理反序列化
///
/// 可以用作反序列化的代理对象
void ProxiedDeserialize(object proxy);
///
/// 当此对象反序列化时,是否应该使用构造方法初始化
/// 如果为否,反序列化时创建的对象将不会使用构造方法
///
bool IsShouldInitializeWhenDeserialize();
}
}