表达式主体方法:Return 无
Expression-bodied method: Return nothing
当我发现一个实际上什么都不做的方法时,我正在将我们的一个项目更新到 C# 6.0:
private void SomeMethod()
{
return;
}
现在我想知道是否有可能将其重写为表达式主体方法,因为它只包含 return
.
尝试 1:
private void SomeMethod() => return;
例外情况:
; expected
Invalid token 'return' in class, struct, or interface member declaration
Invalid expression term 'return'
尝试2:
private void SomeMethod() => ;
异常:
- Invalid expression term ';'
有没有可能实现这个(虽然这个方法真的没有意义)?
这不是表达式主体,但您可以这样做:
private void SomeMethod() { }
什么都不做的方法仍然有意义 - 它们只是什么也不做。
您可以丢失 return 语句:
private void SomeMethod() { }
或assign a function to a variable代替:
private Action SomeMethod = () => { };
如果你真的想在 void 函数上做 body 的表达式,你可以这样做:
private void SomeFunction() => Expression.Empty();
这使用了 Linq 并创建了一个具有 Void 类型的空表达式。
当我发现一个实际上什么都不做的方法时,我正在将我们的一个项目更新到 C# 6.0:
private void SomeMethod()
{
return;
}
现在我想知道是否有可能将其重写为表达式主体方法,因为它只包含 return
.
尝试 1:
private void SomeMethod() => return;
例外情况:
; expected
Invalid token 'return' in class, struct, or interface member declaration
Invalid expression term 'return'
尝试2:
private void SomeMethod() => ;
异常:
- Invalid expression term ';'
有没有可能实现这个(虽然这个方法真的没有意义)?
这不是表达式主体,但您可以这样做:
private void SomeMethod() { }
什么都不做的方法仍然有意义 - 它们只是什么也不做。
您可以丢失 return 语句:
private void SomeMethod() { }
或assign a function to a variable代替:
private Action SomeMethod = () => { };
如果你真的想在 void 函数上做 body 的表达式,你可以这样做:
private void SomeFunction() => Expression.Empty();
这使用了 Linq 并创建了一个具有 Void 类型的空表达式。