2016-07-19 20 views
0

私の完全なKinveyとXamarin Async-APIは、await/asyncメソッドでは動作しません。私は問題がどこにあるのか知りません。私は自分のコード内の任意の誤りを見つけられませんでしたが、私が使用する一般的な方法は、私はインターネットで検索非同期メソッドは動作しません

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

のように、[OK]をする必要がありますが、私は任意の同様の問題を見つけられませんでした。

エラーCS4033: 'await'演算子は、非同期 メソッド内でのみ使用できます。このメソッドを 'async'修飾子でマークし、 の戻り型を 'Task'に変更することを検討してください。

この問題の原因はわかりませんが、これはほぼ非同期APIとKinveyの最初のステップです。どんな助けでも大歓迎です。

+2

エラーとして、非同期メソッドを使用するメソッドも非同期としてマークする必要があります –

答えて

2

awaitと書く方法は、asyncメソッドそのものにする必要があります。

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

オブジェクトを返すようにしたい場合は、Task<T>を使用します。

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

    return _User; 
} 

余分な注意を:それは悪だ、avoid async voidにしてみてください。

編集:非同期メソッドを非同期で終了して、コードを使用するすべての人にこれを明確にすることをお勧めします。

関連する問題