CodeAnalysis 和 CodeContracts 组合

发布于 2024-10-17 18:15:19 字数 320 浏览 2 评论 0原文

我得到了一个 ContractClassFor ,它通过代码分析生成了少量警告。

例子:

Microsoft.Usage:从未使用“IDocumentServiceContracts.GetItems(PrintQueue, int, int)”的参数“pageNumber”。删除该参数或在方法体中使用它。

我是否必须对合约类中每个方法中的每个参数使用 SupressMessage ?或者是否可以通过其他方式消除警告?我确实希望对除合同类之外的所有类发出这些警告。

I got a ContractClassFor which generates a low of warnings with Code Analysis.

Example:

Microsoft.Usage : Parameter 'pageNumber' of 'IDocumentServiceContracts.GetItems(PrintQueue, int, int)' is never used. Remove the parameter or use it in the method body.

Do I have to use SupressMessage for each parameter in each method in the contracts class? Or is it possible to get rid of the warnings in another way? I do want those warnings for all classes except contract classes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韶华倾负 2024-10-24 18:15:19

一种简单的方法是完全禁用合同类的代码分析,方法是将 [GenerateCode] 属性。这并不是真正正确的语义,但它确实完成了工作。

SuppressMessage 在这种情况下不太好,因为您无法将其应用于类。您必须将其应用于每个方法,这会变得混乱。

A simple way is just to disable Code Analysis entirely for your contract classes, by putting the [GeneratedCode] attribute on them. It's not really the right semantics but it does the job.

SuppressMessage is not very good in this scenario, since you can't apply it to classes. You'd have to apply it to each method, and that gets messy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文