我有异步方法:
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并非所有代码路径都返回值.
如何解决这个方法
您的代码没有任何问题,问题似乎是您Task在项目的某处定义了另一种类型.将方法签名更改为:
public async System.Threading.Tasks.Task CreateAndWriteAsyncToFile(){ ... }
Run Code Online (Sandbox Code Playgroud)