每当用户尝试启动该应用程序时,我都会尝试进行一些检查。这是我的代码示例:
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)
如何解决这个问题?
这似乎不是异步问题。看来您应该执行以下操作:
var myclass = new FinDataStore();
那么您可以
var ret = await myClass.GetUserToken...