提问者:小点点

是否可以编写包含if语句的表达式体成员?


我想知道是否可以使用表达式体成员重写以下方法:

private void Checkup()
{
   if (errorCondition) throw new InvalidOperationException("Error");
}

共1个答案

匿名用户

不是这种形式。但是如果您真的需要,可以创建一个抛出异常的方法,如下所示:

public static void ThowIf(Func<bool> predicate, Func<Exception> getException)
{
    if(predicate()) throw getException();
}

现在您可以执行以下操作:

private void Checkup() => ThowIf(() => errorCondition, () => new InvalidOperationException("Error"));

但我怀疑这比你所拥有的更好。