c# - 我可以替换等待方法吗?调用异步任务返回?
问题描述
我的应用程序方法中有此代码。如果不满足条件,则调用 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 语句?
解决方案
“inner”方法中的return语句只会产生结束“NewMethod”处理的效果。外部方法的执行将继续正常进行。因此,如果在调用之后还有更多您不想执行的代码,那么您也应该在那里有 return 语句。
推荐阅读
- python - 当我尝试打开模块时,pudb3 引发 TypeError
- javascript - 如何更改按钮的颜色,以便在使用 jQuery 单击按钮时更改为另一种颜色?
- sql - 如何使用同一表中另一列的计数更新列
- matlab - 解释一个涉及二进制过滤器的matlab代码的含义
- c# - 更改刻度和滑块控件以显示较小的数字
- symfony4 - API 平台 POST 相关对象
- protocol-buffers - 在 protobuf 消息中定义嵌套的 oneof 消息
- r - 在R中使用正则表达式删除字符串中除指定单词之外的所有字符
- java - 您如何将 Quickfixj 之类的 TCP 服务器实现集成到 Spring-Integration 项目中?
- python-3.x - 如何返回关于列表是否为特定大小的布尔值?