返回异步方法

vic*_*ico 0 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);
            }
        }
Run Code Online (Sandbox Code Playgroud)

编译抱怨:

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

如何解决这个方法

Ous*_* D. 7

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

public async System.Threading.Tasks.Task CreateAndWriteAsyncToFile(){ ... }
Run Code Online (Sandbox Code Playgroud)