ToList等待方法调用的简写方法

时间:2018-02-23 09:42:56

标签: c# asynchronous async-await

有没有办法简化或清理等待方法的过程,并且没有涉及第二行新代码的结果?例如

var someResult = (await SomeMethodCall(someParameter)).ToList()

或者是使用await时从SomeMethodCall返回列表的最佳做法吗?

1 个答案:

答案 0 :(得分:1)

我可以想到两种方法。 如果您可以修改SomeMethod,只需在其结果中加入.ToList()并更改其返回类型。

var someResult = (await SomeMethodCall(someParameter));

否则我将应用装饰器模式并创建一个新方法

public List<OldReturnType> SomeMethodAsList(someParameter)
{
    return SomeMethod(someParameter).ToList();
}

然后异步调用新方法:

var someResult = (await SomeMethodAsList(someParameter))