防止CodeContracts在resharper中隐藏未使用的方法参数

时间:2016-08-11 16:28:05

标签: c# resharper code-contracts

使用代码合同和resharper处理大型项目。

通过众多重构,不再需要一些方法参数,但代码契约似乎隐藏了这一点。例如

原始代码可能是

public foo( IMyInterface param1, IMyOtherInterface param2 )
{
    Contract.Requires<ArgumentNullException>( param1 != null );
    Contract.Requires<ArgumentNullException>( param2 != null );
    _param1 = param1
    _param2 = param2
}

然而,由于重构,参数2不再被使用/分配。

public foo( IMyInterface param1, IMyOtherInterface param2 )
{
    Contract.Requires<ArgumentNullException>( param1 != null );
    Contract.Requires<ArgumentNullException>( param2 != null );
    _param1 = param1
}

没有合同,resharper会提醒我们param2没有被使用,并且可以删除。但是在合同到位的情况下,代码错误地认为该参数是主动使用的。

有没有办法强制resharper在使用或不使用参数的情况下忽略合同?

0 个答案:

没有答案