如何解决Xamarin C#-INotifyPropertyChanged模型-JSON反序列化中的错误
我有一个与Azure移动服务同步的c#用户模型。 User类的定义如下:
public class Users : INotifyPropertyChanged
{
[JsonProperty("Id")]
private string id;
[JsonIgnore]
public string Id
{
get { return id; }
set { id = value; OnPropertyChanged("Id"); }
}
[JsonProperty("Name")]
private string name;
[JsonIgnore]
public string Name
{
get { return name; }
set { name = value; OnPropertyChanged("Name"); }
}
[JsonProperty("Email")]
private string email;
[JsonIgnore]
public string Email
{
get { return email; }
set { email = value; OnPropertyChanged("Email"); }
}
[JsonProperty("Password")]
private string password;
[JsonIgnore]
public string Password
{
get { return password; }
set { password = value; OnPropertyChanged("Password"); }
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if(propertyName != null)
PropertyChanged(this,new PropertyChangedEventArgs(propertyName));
}
现在,在XAML页面代码中,一旦用户登录,我就会尝试吸引用户,就像这样:
var user = (await App.MobileService.GetTable<Users>().Where(u => u.Email == this.txtEmail.Text).ToListAsync()).FirstOrDefault();
如果我删除私有成员和公共成员上的JsonProperty()和JsonIgnore(),则会收到错误消息:NewtonSoft.Json反序列化错误。
在上面的代码中,除了分别在每个私有字段和公共字段上声明JsonProperty()和JsonIgnore之外,还有什么更简单的方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。