【问题标题】:Return of async method异步方法的返回
【发布时间】:2017-11-04 11:38:23
【问题描述】:

我有异步方法:

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 并非所有代码路径都返回值。

如何解决这个方法

【问题讨论】:

    标签: c# asynchronous


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      为了确定,检查您是否确实导入了 System.Threading.Tasks 命名空间。如果你不小心创建了一个 Task 类(如果它不存在,Visual Studio 会建议你创建一个类)一定要删除它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-03
        • 2012-12-20
        • 2014-10-22
        • 2018-06-10
        • 2016-05-27
        • 1970-01-01
        • 2019-06-04
        • 2020-04-28
        相关资源
        最近更新 更多