无法修复异步上的返回类型
本文关键字:返回类型 异步 | 更新日期: 2023-09-27 17:56:36
我目前遇到了这个问题和这个错误:
-
问题:我无法弄清楚如何解决我遇到的错误,即使我在 Google 搜索等上阅读了有关它的文档。 真的,不要告诉我再这样做了,我不知道该怎么做!
-
错误:异步方法的返回类型必须为 void、任务或任务
-
代码:
private async Geoposition userLocation() { Geolocator geolocator = new Geolocator(); geolocator.DesiredAccuracyInMeters = 50; try { Geoposition geoposition = await geolocator.GetGeopositionAsync(maximumAge:TimeSpan.FromMinutes(5),timeout:TimeSpan.FromSeconds(10)); return geoposition; } catch (UnauthorizedAccessException) { return null; } return null; }
错误准确地告诉您问题是什么。您的方法必须是 void
、 Task
或 Task<T>
。
将方法签名更改为:
private async Task<Geoposition> userLocation() { ... }
正如错误试图告诉你的那样:你需要将函数的返回类型更改为 task,所以它看起来像这样:
private async Task<Geoposition> userLocation
当你使用async
时,你应该返回一个Task
、Task<T>
或void
。
private async Task<Geoposition> userLocation()
{
//Do something here
}
您可以查看有关异步返回类型的文档