C#:在Tuple中使用Task <>

use*_*041 1 c# async-await

如果我删除Tuple并使用Task<bool>或,这将有效Task<string>.

 public async Tuple<Task<bool>, string> Test()
        {

            //....

            return new Tuple<Task<bool>, string>(false, "a string");
        }
Run Code Online (Sandbox Code Playgroud)

知道如何使这项工作?

Ser*_*kiy 8

异步方法应返回void(不良做法)或TaskTask<T>(参见返回类型部分).在你的情况下,我相信它应该是

public async Task<Tuple<bool, string>> Test()
{
    // await ...
    return Tuple.Create(false, "a string");
}
Run Code Online (Sandbox Code Playgroud)

  • 同意.在这种情况下,他可以返回`Task.FromResult(false)`,虽然我认为它只是一个没有实际代码的非常简化的例子.关于他真正想要做什么...... (3认同)