如何使用Json.net(C#)反序列化从Exception类派生的对象?

我试图反序列化从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);
        }
    }

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...