Сочетание CodeAnalysis и CodeContracts - PullRequest
2 голосов
/ 18 февраля 2011

Я получил ContractClassFor, который генерирует низкий уровень предупреждений с помощью анализа кода.

Пример:

Microsoft.Usage: параметр 'pageNumber' для 'IDocumentServiceContracts.GetItems (PrintQueue, int, int)' никогда не используется. Удалите параметр или используйте его в теле метода.

Нужно ли использовать SupressMessage для каждого параметра в каждом методе в классе контрактов? Или можно избавиться от предупреждений другим способом? Мне нужны эти предупреждения для всех классов, кроме классов контракта.

1 Ответ

1 голос
/ 21 февраля 2011

Простой способ - просто полностью отключить анализ кода для классов контрактов, поместив в них атрибут [GeneratedCode] .Это не совсем правильная семантика, но она выполняет свою работу.

SuppressMessage не очень хорош в этом сценарии, так как вы не можете применить его к классам.Вам придется применять его к каждому методу, и это становится грязным.

...