gpt4 book ai didi

c# - 如何将任务存储在字典中以便稍后在 C# 中执行

转载 作者:行者123 更新时间:2023-11-30 14:48:45 25 4
gpt4 key购买 nike

我试图将任务存储在字典中以供以后执行但没有成功:

Dictionary<string, Task<object>> router = new Dictionary<string, Task<object>();
router["xyz"] = functionToLaterExec

async Task<string> functionToLaterExec()
{
return await Task.FromResult("Success!");
}

如果我将函数声明为

string functionToExec()

然后我可以这样做:

router["xyz"] = new Task<string>(functionToExec);

但我需要函数是异步的。并且不知道如何调用它。我试过:

var t = router["xyz"];
var data = Encoding.UTF8.GetBytes(await t);

没有成功。

谢谢。

最佳答案

如果您希望稍后能够启动异步操作,那么您不想存储 Task ,你会想要存储一个 Func<Task> (或者,在你的情况下,一个 Func<Task<string>> ,这样,当你想开始操作时,你可以调用该函数,生成一个 Task 代表它的完成。

关于c# - 如何将任务存储在字典中以便稍后在 C# 中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470095/

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