Xamarin.Forms如何在App OnStart()中调用异步任务

问题描述 投票:0回答:1

每当用户尝试启动该应用程序时,我都会尝试进行一些检查。这是我的代码示例:

      protected override async void OnStart()
        {


            // Handle when your app starts
            var user = await FinDataStore.GetUserToken(DependencyService.Get<ISharedFunctions>().GetUser().UserName,   DependencyService.Get<ISharedFunctions>().GetUserPassword());
            if (user != null && user.AccessToken != null)
            {
                DependencyService.Get<ISharedFunctions>().SaveAccessToken(user.AccessToken);
                DependencyService.Get<ISharedFunctions>().SaveUser(user);
                DependencyService.Get<ISharedFunctions>().SaveRefreshToken(user.RefreshToken);
                DependencyService.Get<ISharedFunctions>().SaveUserFirmi(user.Firmi);
            }
            else
            {
                ((App)Application.Current).Logout();
            }
        }

但我得到错误:

Error   CS0120  An object reference is required for the non-static field, method, or property 'FinDataStore.GetUserToken(string, string)'   

这是电话:

  public async Task<User> GetUserToken(string username, string password)

如何解决这个问题?

xamarin.forms xamarin.android xamarin.ios
1个回答
1
投票

这似乎不是异步问题。看来您应该执行以下操作:

var myclass = new FinDataStore();

那么您可以

var ret = await myClass.GetUserToken...
© www.soinside.com 2019 - 2024. All rights reserved.