没有异步方法工作

No Async method working

我完整的 Kinvey 和 Xamarin Async-API 无法使用 await/async 方法。我不知道问题出在哪里。我在我的代码中没有发现任何错误,但是我使用的一般方法应该没问题,比如

User _User= await KinveyXamarin._Client.User().LoginAsync();

上网查了一下,没有发现类似的问题。它 returns Compile_time 错误

Error CS4033: The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'.

我真的不知道是什么导致了这个问题,这些几乎是我使用异步 API 和 Kinvey 的第一步。任何帮助将不胜感激。

您编写 await 的方法本身应该是 async 方法。

public async Task MyMethodAsync()
{
    User _User = await KinveyXamarin._Client.User().LoginAsync();
    // more code
}

如果你想return一个对象,使用Task<T>:

public async Task<User> MyMethodAsync()
{
    User _User = await KinveyXamarin._Client.User().LoginAsync();
    // more code

    return _User;
}

额外说明:请尝试avoid async void,这是邪恶的。

编辑:最佳做法是在 -Async 上结束您的异步方法,以使使用您的代码的任何人都清楚这一点。