Файлы активов списка UWP - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь просмотреть файлы в моей папке «Активы». Я вижу, есть ли один файл, потому что он не позволит мне добавить его снова. Тем не менее, я хочу увидеть все файлы в отладчике, но я получаю следующую ошибку:

"Чтобы проверить собственный объект, включите отладку собственного кода."

Вот код, который я пытаюсь отладить / проверить.

StorageFolder appInstalledFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder assets1 = await appInstalledFolder.GetFolderAsync("Assets");
var files = await assets1.GetFilesAsync();

Я добавил следующий код, но все еще получаю ошибку Native code.

StorageFolder folder = await Package.Current.InstalledLocation.GetFolderAsync("Assets");
// StorageFolder folder = ApplicationData.Current.LocalFolder;
var options = new QueryOptions();
options.FileTypeFilter.Add(".jpg");//this will add .csv files to query options 
options.FolderDepth = FolderDepth.Deep;//optional
StorageFileQueryResult query = folder.CreateFileQueryWithOptions(options);
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync();

ошибка отладчика: чтобы проверить собственный объект, включите отладку собственного кода.

1 Ответ

0 голосов
/ 19 ноября 2018

Это можно воспроизвести, наведя указатель мыши на переменную при отладке:

Reproduction of the error

Причиной этой ошибки является тот факт, что возвращаемый экземпляр не является классическим типом .NET, а представляет собой проекцию собственного списка WinRT в .NET. Доказательство этого Visual Studio отображает только System.__ComObject вместо типа. Однако этот тип действует как IReadOnlyList<StorageFile>, так что вы можете использовать его как список, даже если это собственный тип.

Если вы хотите видеть содержимое в отладчике, вам необходимо вручную преобразовать его в чисто тип .NET, например, используя ToArray метод расширения LINQ:

var files = 
    (await ApplicationData.Current.LocalFolder.GetFilesAsync())
    .ToArray();

Это сделает files обычным массивом .NET, который полностью проверяется отладчиком.

Debugger now displays data

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...