Sta*_*son 21 c# code-analysis code-contracts
在组合使用代码分析和代码合同时,我会收到很多警告
CA1062:Microsoft.Design:在外部可见方法'Foo.Bar(Log)'中,在使用之前验证参数'log'.
在Foo.Bar,我有一份验证的合同log.
public Bar(Log log)
{
Contract.Requires(log != null);
log.Lines.Add(...);
// ...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让FxCop理解代码合约?
Jar*_*Par 14
不,我认为在当前构建中不可能,因为合同重写器生成的代码不会产生FxCop正在寻找的标准模式.
通常虽然我在使用代码契约时禁用了这个特定的FxCop规则.我发现静态验证器不仅可以弥补这条规则的损失,因为它会比FxCop更加积极地对缺乏检查感到愤怒.我会建议在这里采用相同的方法来解决这个问题.
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |