c# - 如何让风格警察忽略特定的违规实例

标签 c# stylecop

我的代码中有几个实例,Style cop 给出了这样的信息:

“SA1119:该行包含不必要的括号。”

现在,如果我有一行代码表示:

,我完全同意这一点
int someValue = (((12 + 3) + 5));

但是当我遇到更复杂的事情时,例如:

textXpos = ((((float)this.Width - imageoffset) - textsize.Width) / 2);

我知道我可以这样重写:

textXpos = (((float)this.Width - imageoffset - textsize.Width) / 2);

它会计算出相同的值,但我发现第一个更容易阅读。有没有办法告诉 styecop 忽略此错误实例?

或者我是否需要通过将一些方程分配给临时变量来解决这个问题?

我不想将此代码包装在自动生成的区域中,因为我确实希望样式警察评估这部分代码。

谢谢


根据 ken2k 的建议,我尝试了以下操作:

using System.Diagnostics.CodeAnalysis;

。 。 .

[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1119:StatementMustNotUseUnnecessaryParenthesis", Justification = "Better for readability.")]
    public int Testmethod()
    {
        int returnValue = (((5 - 5) - 5) / 2);
        return returnValue;
    }

但这似乎没有任何效果?我错过了什么吗?


最佳答案

您可以在方法的 header 之前添加以下语句:

[SuppressMessage("Microsoft.StyleCop.CSharp.MaintainabilityRules", "SA1119:StatementMustNotUseUnnecessaryParenthesis", Justification = "Better for readability.")]

但是整个方法中警告 SA1119 将被忽略。

编辑:至少删除第一个和最后一个括号:

textXpos = (((float)this.Width - imageoffset) - textsize.Width) / 2;

关于c# - 如何让风格警察忽略特定的违规实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8789799/

相关文章:

c# - 如何在 c#/xaml Windows 商店应用程序中将 RTF 文件注入(inject) RichTextBlock

c# - 如何使用 VS Fakes 有条件地 stub 方法?

c# - 当编译时类型未知时,将对象动态转换为类型

c# - StyleCop 格式

c# - 有没有办法将设置从 Settings.StyleCop 同步到 ReSharper?

c# - StyleCopTask 无法在 Hudson 服务器上加载

c# - WPF 在 X 秒后淡出状态栏文本?

c# - yield return执行后的代码

c# - 如何在 vim 中使用 C# 代码语句进行排序?

c# - Stylecop 自定义规则不显示在设置中