Нет определения для GetFilesAsync
Всякий раз, когда я пытаюсь этот код:
foreach (StorageFile filesAsync in await folderFromPathAsync.GetFolderAsync(_selectedPlayList).GetFilesAsync())//Error here
{
this._fileNames.Add(filesAsync.Name.Substring(0, filesAsync.Name.LastIndexOf('.')));
this.FilesListBox.Items.Add(filesAsync.Name.Substring(0, filesAsync.Name.LastIndexOf('.')));
this._pathNames.Add(filesAsync.Path);
}
Определение GetFilesAsync() не существует по какой-то странной причине. Это моя вина? Мое полное сообщение об ошибке:
'Windows.Foundation.IAsyncOperation<Windows.Storage.StorageFolder>'
не содержит определения для "GetFilesAsync" и не найден метод расширения "GetFilesAsync", принимающий первый аргумент типа "Windows.Foundation.IAsyncOperation" (вы пропустили директиву using или ссылку на сборку?)
пожалуйста, помогите мне
1 ответ
Вы пытаетесь позвонить GetFilesAsync()
по результатам звонка GetFolderAsync()
- тогда как вы должны ждать результата GetFolderAsync()
а потом звонит GetFilesAsync()
на результат жду. Возвращаемое значение из GetFolderAsync()
это не папка - это асинхронная операция, которая извлекает папку. (Это IAsyncOperation<StorageFolder>
не StorageFolder
.)
Например:
var folder = await folderFromPathAsync.GetFolderAsync(_selectedPlayList);
foreach (var file in await folder.GetFilesAsync())
{
...
}