首页 > 解决方案 > 我可以替换等待方法吗?调用异步任务返回?

问题描述

我的应用程序方法中有此代码。如果不满足条件,则调用 SetMessageAsync 并且该方法返回:

if (x != true)
{
   await SetMessageViewAsync("X");
   return;
}

我尝试重构代码,有人建议我可以使用此代码替换它:

if (x != true)
{
   await NewMethod();
   // return; <<< should there be a return statement here?
}

private async Task NewMethod()
{
   await SetMessageViewAsync("X");
   return;
}

我的问题是,在 await NewMethod 之后是否应该有一个 return 语句?

标签: c#

解决方案


“inner”方法中的return语句只会产生结束“NewMethod”处理的效果。外部方法的执行将继续正常进行。因此,如果在调用之后还有更多您不想执行的代码,那么您也应该在那里有 return 语句。


推荐阅读