我試圖存儲任務在字典中,以便以後執行,但沒有成功:如何將任務存儲在C#中的字典以後執行
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'或'Task'對象以後運行,您應該存儲'Func '或'Func >'objects。另外,除非你正在編寫任務調度程序,否則從來沒有理由執行新的任務(...)。你應該只使用「熱門任務」。 –
非常感謝@Scot tChamberlain。那樣做了。既然你是第一個迴應,如果你想讓我接受你的答案,請發表一個。如果你不這樣做,我會接受Servy的。 – mattinsalto
去接受Servy的 –