[英]Expression-bodied method: Return nothing
当我发现一种实际上什么都不做的方法时,我正在将我们的一个项目更新到 C# 6.0:
private void SomeMethod()
{
return;
}
现在我想知道是否有可能将它重写为表达式主体的方法,因为它只包含return
。
尝试 1:
private void SomeMethod() => return;
例外:
; 预期
类、结构或接口成员声明中的无效标记“返回”
无效的表达式术语“返回”
尝试2:
private void SomeMethod() => ;
例外:
- 无效的表达式术语 ';'
有没有可能实现这一点(尽管这种方法实际上没有意义)?
这不是表达式主体,但您可以这样做:
private void SomeMethod() { }
什么都不做的方法仍然有意义——它们什么都不做。
您可能会丢失 return 语句:
private void SomeMethod() { }
或者将函数分配给变量:
private Action SomeMethod = () => { };
如果你真的想在 void 函数上对 body 进行表达式,你可以这样做:
private void SomeFunction() => Expression.Empty();
这将使用 Linq 并创建一个具有 Void 类型的空表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.