Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Getter和Setter调用异步方法?_C#_.net_Methods_Xamarin.forms - Fatal编程技术网

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方法,因此您正在尝试围绕您的方法构造一个
命令
对象,这不起作用。确实要这样做吗?请参阅关于异步和等待的问题。