从int =&gt;转换lambda类型IEnumerable的<字符串>&GT; to int =&gt;任务<IEnumerable的<字符串>&GT;&GT ;?

时间:2016-11-11 19:26:23

标签: c# asynchronous

我有一个方法

string M1(Func<int x, Task<IEnumerable<string>>> getList) 
// getList: int => Task<IEnumerable<string>>>
{ ...... }

如何在下面输入M1的参数来输入int => Task<IEnumerable<string>>>

var l = new List<string>(); .... // l is pre-built
var r = M1(x => l); // The type of param is int => IEnumerable<string>>

async x => l会发出警告。

1 个答案:

答案 0 :(得分:3)

使用Task.FromResult()创建一个结果已经处于已完成状态的任务。

var l = new List<string>(); .... // l is pre-built
var r = M1(x => Task.FromResult<IEnumerable<string>>(l));