C# 如何从Getter和Setter调用异步方法?
我正在尝试从属性调用异步方法。我的代码是C# 如何从Getter和Setter调用异步方法?,c#,.net,methods,xamarin.forms,C#,.net,Methods,Xamarin.forms,我正在尝试从属性调用异步方法。我的代码是 private Command _forgotCommand; public Command ForgotCommand { get { return _forgotCommand ?? (_forgotCommand = new Command(ForgotCommandAssetCommand)); } } private async void ForgotCommandAssetCom
private Command _forgotCommand;
public Command ForgotCommand
{
get
{
return _forgotCommand ?? (_forgotCommand = new Command(ForgotCommandAssetCommand));
}
}
private async void ForgotCommandAssetCommand()
{
await ForgotPasswordApiCall();
}
现在我想在这一行中使用Task而不是void(private async void ForgotCommandAssetCommand()),它给了我一个错误,因为“Task的返回类型错误”
有什么建议吗?您可能需要让
放弃commandassetcommand
返回一个任务,而不是void
,但请记住,在异步代码和同步代码之间进行转换充满了危险和头痛。您的问题似乎有点错,由于您实际上不打算从getter调用async方法,因此您正在尝试围绕您的方法构造一个命令
对象,这不起作用。确实要这样做吗?请参阅关于异步和等待的问题。