2011-02-18 6 views
2

ContractClassFor이 있는데 코드 분석으로 경고가 적습니다.CodeAnalysis 및 CodeContracts 조합

예 :

Microsoft.Usage : 'IDocumentServiceContracts.GetItems (인쇄 큐, INT, INT)'의 매개 변수 'PAGENUMBER'은 사용되지 않습니다. 매개 변수를 제거하거나 메서드 본문에서 사용하십시오.

계약 클래스의 각 메소드에서 각 매개 변수에 SupressMessage을 사용해야합니까? 또는 다른 방법으로 경고를 없앨 수 있습니까? 나는 계약 클래스를 제외한 모든 클래스에 대해 경고를 원한다.

답변

1

간단한 방법은 [GeneratedCode] attribute을 붙여 계약 클래스에 대한 코드 분석 만 사용하지 않도록 설정하는 것입니다. 정말 올바른 의미는 아니지만 그 일을합니다.

SuppressMessage는 클래스에 적용 할 수 없으므로이 시나리오에서는 그리 좋지 않습니다. 당신은 각 방법에 그것을 적용해야하고, 그것은 지저분 해집니다.