Есть ли способ использовать LocalObjectStorageHelper для большого списка объектов с StorageFolders - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь использовать 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...