gpt4 book ai didi

exception - 在意外的时间调用了一个方法

转载 作者:行者123 更新时间:2023-12-02 19:42:13 25 4
gpt4 key购买 nike

我尝试使用 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();
}

最佳答案

如果您不想使用async关键字(在我的例子中,代码位于属性内部,因此async不是一个选项),您可以通过链接这两个方法来使用 TaskAwaiter 来代替:

var folder = Package.Current.InstalledLocation.GetFolderAsync("folderName").GetAwaiter().GetResult();

这不会引发 InvalidOperationException 也不会导致死锁。

关于exception - 在意外的时间调用了一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13096141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com