c # /. net / fxcop!
... внутри класса я хочу, чтобы FxCop заткнулся, жалуясь на
Warning CA1062 : Microsoft.Design :
In externally visible method 'xyz', validate parameter 'a' before using it.
По сути, это правило предполагает, что я ставлю if (a == null) throw new ArgumentNullException("a");
в начале почти каждого метода в моем коде. Это отстой и меняет логику обработки исключений.
Итак, я поместил это где-то в тело своего класса:
[SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods",
Scope = "Type",
MessageId = "0",
Justification = "We love danger... so far.")]
Во всяком случае, это даже не подавляет ни одного сообщения - я все равно получаю все эти предупреждения. Он подавляет предупреждение только в том случае, если он стоит прямо над одним из определений метода, допускающего ошибки (то есть подавляет только одно отдельное предупреждение, а не все этого типа). Странно то, что один и тот же синтаксис работает для других проблем, которые возникают в моем классе несколько раз.
Я не знаю, что делаю не так, и, честно говоря, не совсем понимаю, как использовать параметры атрибута .. http://msdn.microsoft.com/de-de/library/ms244717.aspx не вдавался в подробности. : T ... во всяком случае, есть идеи, что не так?