我有异步方法:
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 并非所有代码路径都返回值。
如何解决此方法
答案 0 :(得分:7)
您的代码没有任何问题,问题似乎是您在项目的某处定义了另一个Task
类型。将方法签名更改为:
public async System.Threading.Tasks.Task CreateAndWriteAsyncToFile(){ ... }
答案 1 :(得分:1)
为了确保,请检查是否导入了System.Threading.Tasks命名空间。如果您不小心创建了一个Task类(Visual Studio建议您创建一个类,如果它不存在),请务必将其删除。