在类型上找不到具有正确签名的方法SignInProcedure

时间:2019-08-01 09:54:58

标签: c# xamarin asynchronous exception

  

Xamarin.Forms.Xaml.XamlParseException:'位置27:57。没办法   在类型上找到正确签名的SignInProcedure   HabitRON.Views.LoginPage'

我试图使SignInProcedure async方法返回void而不是Task类型。 我已将Linker Options设置为SdkUser Assemblies

当我添加RestService async方法时,此问题开始了:

var result = await App.RestService.Login(user);

async void SignInProcedureAsync (object sender, EventArgs eventArgs)
{
    User user = new User(Entry_Username.Text,Entry_Password.Text);

    //user.UserName = Lbl_Username.Text;

    if (user.CheckInformation())
    {
        DisplayAlert("Login", "Login sucess!","OK");

        var result = await App.RestService.Login(user);
        if (result .access_token != null)
        {
            App.UserDatabase.UpdateUser(user);
        }                
    }
    else
    {
        DisplayAlert("Login", "Login failure! Insert a Username and a Password", "OK");
    }
}

有什么想法吗? 在此之前,登录页面正常显示。

1 个答案:

答案 0 :(得分:0)

如果使用异步void,则不应在此线程中使用UI方法。尝试使用 Device.BeginInvokeOnMainThread

Device.BeginInvokeOnMainThread (() => {
  DisplayAlert("Login", "Login sucess!","OK");
});