如何使用Json.net(C#)反序列化从Exception类派生的对象?
发布时间:2020-12-16 19:52:12 所属栏目:百科 来源:网络整理
导读:我试图反序列化从Exception类派生的对象: [Serializable] public class Error : Exception,ISerializable { public string ErrorMessage { get; set; } public Error() { } } 错误error = JsonConvert.DeserializeObject错误(“json error obj string”);
我试图反序列化从Exception类派生的对象:
[Serializable] public class Error : Exception,ISerializable { public string ErrorMessage { get; set; } public Error() { } } 错误error = JsonConvert.DeserializeObject<错误>(“json error obj string”); 它给我错误: ISerializable类型’type’没有有效的构造函数.
添加一个新的构造函数
public Error(SerializationInfo info,StreamingContext context){} 解决了我的问题 这里完整的代码: [Serializable] public class Error : Exception { public string ErrorMessage { get; set; } public Error(SerializationInfo info,StreamingContext context) { if (info != null) this.ErrorMessage = info.GetString("ErrorMessage"); } public override void GetObjectData(SerializationInfo info,StreamingContext context) { base.GetObjectData(info,context); if (info != null) info.AddValue("ErrorMessage",this.ErrorMessage); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |