0

FxCop 目前正在报告特定方法的相同规则违规——它有两个输出参数,因为我想在不为其创建结构的情况下将两个值返回给调用者。我想知道匿名类型是否能解决我的问题,但我在编写该方法时并不知道它们。

无论如何,我会为每个参数报告一次 CheckId CA1021。我从 FxCop 复制了 SuppressMessage 文本,然后意识到每条消息的 Id 都不同!对我来说,您似乎只需要 CheckId,所以...

  1. ID 是做什么用的?我一直无法在网上找到有关它的信息。
  2. ID 会保持不变吗?我认为是这样,否则 SuppressMessage 不会按照人们希望的方式工作
  3. 有没有办法指定 SuppressMessage 属性,以便它抑制所有Id?
4

1 回答 1

1

源内抑制概述

属性只能应用于方法,不能嵌入到方法体中。但是,您可以将标识符指定为消息 ID,以区分方法中多次出现的违规。

换句话说:MessageId 用于抑制作用域内的单个错误实例;如果您担心在同一方法中意外再次引入错误并希望使用 FxCop 捕捉新的引入(或者如果您想为每次出现的问题指定不同的理由),这将非常方便。如果您不害怕引入更多这些错误(或者不在乎是否这样做),并且有相同的理由,您可以简单地在 Suppress 语句中省略 MessageId:[SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters")]

于 2010-03-30T00:07:13.043 回答