异常 – 在意外的时间调用了一种方法

我试图使用GetFilesAsync迭代目录中的所有文件,但是每次调用GetResults方法时,都会抛出一个异常

system.invalidOperationException: A method was called at an unexpected
time

代码简单

var files = myStorageFolder.GetFilesAsync(); //runs fine
var results = files.GetResults(); //throws the exception

我是Win 8开发人员的新手,所以我可能会丢失一些明显的东西。

编辑(已解决)
我正在运行我的控制台应用程序,但现在程序运行异步,files.GetResult()方法不再存在。

static void Main(string[] args)
{
   var files = GetFiles(myStorageFolder);
   var results = files.GetAwaiter().GetResults();//Need to add GetAwaiter()
}

static async Task GetFiles(StorageFolder sf)
{
   await sf.GetFilesAsync();
}
您需要等待异步方法来完成。所以你可以使用新的等待作为一个选择:
var files = await myStorageFolder.GetFilesAsync();

您可能需要检查处理异步方法here的文档。

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...