返回异步方法

时间:2017-11-04 11:38:23

标签: c# asynchronous

我有异步方法:

public  async Task CreateAndWriteAsyncToFile()
        {
            using (FileStream stream = new FileStream("test.dat", FileMode.Create,FileAccess.Write, FileShare.None, 4096, true))
            {
                byte[] data = new byte[100000];
                new Random().NextBytes(data);

                await  stream.WriteAsync(data, 0, data.Length);
            }
        }

编译抱怨:

  

async方法的返回类型必须为void,Task或Task       并非所有代码路径都返回值。

如何解决此方法

2 个答案:

答案 0 :(得分:7)

您的代码没有任何问题,问题似乎是您在项目的某处定义了另一个Task类型。将方法签名更改为:

public async System.Threading.Tasks.Task CreateAndWriteAsyncToFile(){ ... }

答案 1 :(得分:1)

为了确保,请检查是否导入了System.Threading.Tasks命名空间。如果您不小心创建了一个Task类(Visual Studio建议您创建一个类,如果它不存在),请务必将其删除。