簡體   English   中英

如何將任務存儲在字典中以便以后在C#中執行

[英]How to store a Task in a dictionary for later execution in C#

我正在嘗試將Task存儲在字典中,以便以后執行但沒有成功:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM