基类不包含参数构造函数,不可序列化。所以我试过这个: Object
在反序列化中,异常被捕获: 未找到用于反序列化“ProjectHttpClientEx”类型的对象的构造函数。 我正在使用二进制序列化/反序列化 Serial/Deserial
如何修复它以进行反序列化?
答案 0 :(得分:0)
实现ISerializable时,您需要添加一个受保护的构造函数,它使用SerializationInfo和StreamingContext并从那里构造成员。
实现GetObjectData以序列化成员 添加受保护的构造函数以反序列化成员并构造对象
protected ProjectHttpClientEx(SerializationInfo info, StreamingContext context)
{
member = info.GetBoolean("somedata"); // or empty
}
[SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("somedata", true);
}