表达式主体方法:Return 无

Expression-bodied method: Return nothing

当我发现一个实际上什么都不做的方法时,我正在将我们的一个项目更新到 C# 6.0:

private void SomeMethod()
{
    return;
}

现在我想知道是否有可能将其重写为表达式主体方法,因为它只包含 return.

尝试 1:

private void SomeMethod() => return;

例外情况:

  1. ; expected

  2. Invalid token 'return' in class, struct, or interface member declaration

  3. Invalid expression term 'return'

尝试2:

private void SomeMethod() => ;

异常:

  1. 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 类型的空表达式。