在派生类中找不到反序列化Type对象的构造函数

时间:2016-04-06 10:25:01

标签: c# json serialization deserialization

基类不包含参数构造函数,不可序列化。所以我试过这个: Object

在反序列化中,异常被捕获: 未找到用于反序列化“ProjectHttpClientEx”类型的对象的构造函数。 我正在使用二进制序列化/反序列化 Serial/Deserial

如何修复它以进行反序列化?

1 个答案:

答案 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);
}