我有一个使用Akavache缓存的自定义类。该类包含一个非可序列化的属性(它是一个ParseFile对象)。当我尝试使用GetAndFetchLatest缓存/获取此自定义类的列表时,它不起作用。我想这可能是由一个不可序列化的属性引起的。尝试了JsonIgnore属性,但没有帮助。
问题是,如何告诉Akavache缓存自定义类列表中的所有内容,但非序列化属性除外?自定义类的示例在这里,我希望它忽略Photo属性:
[ParseClassName("User")]
public class User : ParseObject
{
[ParseFieldName("name")]
public string Name
{
get { return GetProperty<string>(); }
set { SetProperty<string>(value); }
}
[ParseFieldName("photo")]
public ParseFile Photo
{
get { return GetProperty<ParseFile>(); }
set { SetProperty<ParseFile>(value); }
}
}
答案 0 :(得分:2)
使用[DataContract]
和[IgnoreDataMember]
来阻止字段序列化
答案 1 :(得分:1)
默认的Json.Net行为是序列化除[JsonIgnoreAttribute]属性标记的所有公共字段和属性。 参考:http://james.newtonking.com/archive/2009/10/23/efficient-json-with-json-net-reducing-serialized-json-size