Xamarin. Формирует вызов asyn c Task в App OnStart (). - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь проверять каждый раз, когда пользователь пытается запустить приложение. Это мой пример кода:

      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)

Как решить эту проблему?

1 Ответ

1 голос
/ 14 апреля 2020

Кажется, это не асин c проблема. Кажется, вы должны сделать что-то вроде:

var myclass = new FinDataStore();

тогда вы можете

var ret = await myClass.GetUserToken...
...