是否可以通过StorageFolders在大量对象上使用LocalObjectStorageHelper

时间:2019-05-19 19:11:37

标签: c# uwp

我正在尝试使用LocalObjectStorageHelper保存和加载一个大型词典列表,该列表TValue是其中包含StorageFolders的对象的列表。我已经成功保存了该列表,因为可以物理地打开它保存的文件,但是当尝试加载该文件时,它会引发以下错误:Unable to find a constructor to use for type Windows.Storage.StorageFolder. A class should either have a default constructor, one constructor with arguments or a constructor marked with the JsonConstructor attribute.

我还没有尝试过很多关于此问题的相当深入的网络搜索,几年前的帖子说不可能做到这一点。

这是我要保存的对象。

class Pack
{
    public StorageFolder Folder { get; set; }
    public BitmapImage Image { get; set; }
    public String Name { get; set; }
    public Pack()
    {
    }
}

这就是我要保存到文件的内容。

var helper = new LocalObjectStorageHelper();
Dictionary<string, List<Pack>> allpacks = new Dictionary<string, List<Pack>>();
await helper.SaveFileAsync(PackCacheKey, allpacks);

最后,这就是我试图加载保存的文件的方式。

var helper = new LocalObjectStorageHelper();
if (await helper.FileExistsAsync(PackCacheKey))
{
    var cachedPacks = await helper.ReadFileAsync<Dictionary<string, List<Pack>>>(PackCacheKey);
}

0 个答案:

没有答案