C# 异常未序列化
我有一个例外类:C# 异常未序列化,c#,json,json.net,C#,Json,Json.net,我有一个例外类: [Serializable] public class LoginException : Exception { public LoginError LoginError { get; private set; } public LoginException(LoginError loginError) { this.LoginError = loginError; } public LoginException(Se
[Serializable]
public class LoginException : Exception
{
public LoginError LoginError { get; private set; }
public LoginException(LoginError loginError)
{
this.LoginError = loginError;
}
public LoginException(SerializationInfo info, StreamingContext context)
{
if (info != null)
{
this.LoginError = (LoginError)info.GetValue("LoginError", typeof(LoginError));
}
}
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
if (info != null)
{
info.AddValue("LoginError", this.LoginError);
}
}
}
当我从WebApi操作返回此异常时,我得到以下异常:
System.Runtime.Serialization.SerializationException:未找到成员“LoginError”。在System.Runtime.Serialization.SerializationInfo.GetElementString名称、类型和在System.Runtime.Serialization.SerializationInfo.GetValueString名称、类型上的foundType
我在这里遗漏了什么?可能是LoginError属性中的私有标志出了问题?我认为您不能拥有带有私有设置器LoginError的公共属性它是什么LoginError?@Denis它是一个枚举。我仍然得到错误是属性为public get&set。我缺少一个没有参数的公共构造函数,这也是序列化所需的