使用代码合同和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在使用或不使用参数的情况下忽略合同?