Windows Phone 8には、メソッドpublic async Task<bool> authentication()
があります。関数の戻り値の型はbool
ですが、if
条件エラーで戻り値を使用しようとしたときに、Task<bool>
からbool
へ。
public async Task<bool> authentication()
{
var pairs = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string> ("user", _username),
new KeyValuePair<string, string> ("password", _password)
};
var serverData = serverConnection.connect("login.php", pairs);
RootObject json = JsonConvert.DeserializeObject<RootObject>(await serverData);
if (json.logined != "false")
{
_firsname = json.data.firsname;
_lastname = json.data.lastname;
_id = json.data.id;
_phone = json.data.phone;
_ProfilePic = json.data.profilePic;
_thumbnail = json.data.thumbnail;
_email = json.data.email;
return true;
}
else
return false;
}
関数の戻り値の型はTask<bool>
、bool
自体ではありません。結果を取得するには、await
キーワードを使用する必要があります。
bool result = await authentication();
このセクションの「非同期メソッドで何が起こるか」セクションを読むことができます MSDN記事async / await
言語機能。
タスクをawait
する必要があります:
bool result = await authentication();
または、Task
で待機するお気に入りの代替方法を使用できます。