错误等待运算符。正确实施,但不起作用

时间:2015-03-01 14:40:44

标签: c# visual-studio windows-phone-8 async-await

我尝试创建文件选择和需要列表文件。我正在使用await运算符,但无法正常工作。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    StorageFolder folder = KnownFolders.MusicLibrary;

    List<StorageFile> listOfFiles = new List<StorageFile>();
    await RetriveFilesInFolders(listOfFiles, folder);
    // as a result of above code I have a List of 5 files that are in Music Library

    List<IStorageItem> filesFolders = (await folder.GetItemsAsync()).ToList();
    List<StorageFile> items = (await folder.GetFilesAsync(CommonFileQuery.OrderByName)).ToList();

}

private async Task RetriveFilesInFolders(List<StorageFile> list, StorageFolder parent)
{
    foreach (var item in await parent.GetFilesAsync()) list.Add(item);
    foreach (var item in await parent.GetFoldersAsync()) await RetriveFilesInFolders(list, item);
}

和Visual Studio show

  

等待&#39;运算符只能在异步方法中使用。考虑   使用&#39; async&#39;标记此方法修饰符并改变其回报   输入&#39;任务&#39;

1 个答案:

答案 0 :(得分:1)

您在await方法中使用OnNavigatedTo运算符,该方法未使用async修饰符标记为异步。 我说你得到的信息很清楚。