首页 > 解决方案 > 使额外的大括号触发编译器警告错误 C#

问题描述

我有以下代码,这显然是用户错误(额外的返回语句)

if (!await NoError()) return false;
{
    Logger.LogError("Error occured!");
    return false;
}

现在额外的 return 语句意味着它总是返回 false,无论是否有错误。有没有办法让 Visual Studio 2017 在这种情况下引发编译器错误或警告?

标签: c#compiler-errorscompiler-warnings

解决方案


我怀疑是否存在编译器警告,因为它是有效的 C#,并且大括号“本身”存在合法用例。

如果您使用没有直接附加花括号的 if/else 语句,像 StyleCop 这样的代码分析器可能会引发警告;这将在您的示例中捕捉到这种情况。在 StyleCop 中,这包含在规则 SA1503中。


推荐阅读