0

我有一个要使用 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); }
    }
}
4

2 回答 2

2

使用[DataContract]and[IgnoreDataMember]防止字段被序列化

于 2015-01-05T20:13:44.077 回答
1

默认的 Json.Net 行为是序列化所有公共字段和属性,但标有 [JsonIgnoreAttribute] 属性的除外。参考:http: //james.newtonking.com/archive/2009/10/23/efficient-json-with-json-net-reducing-serialized-json-size

于 2016-01-12T19:44:45.943 回答