2009-07-29 2 views
2

나는 다음과 같은 경우 : ". 매개 변수 '바즈'사용되지 않습니다"ReSharper, 사용되지 않는 매개 변수 및 DbC, 어설 션, 등?

void Foo(Bar bar, Baz baz) 
{ 
    // Do something with bar, but not with baz. 
} 

... 다음 ReSharper에서이 나를 경고 회색으로 표시됩니다. 이것은 내가 그것을 제거하고 싶을 수도있는 유용한 힌트입니다. 한편

, 내가 가지고있는 경우 다음
void Foo(Bar bar, Baz baz) 
{ 
    Require.ArgumentNotNull(bar); 
    Require.ArgumentNotNull(baz); 

    // Some code that used to do something with bar and baz, 
    // but has been changed to no longer use baz. 
} 

... 다음 ReSharper에서는 '바즈'가 사용되며, 경고하지 않는 것을 생각한다. ReSharper에게이 메소드가 실제로 매개 변수를 "사용"하지 않는다는 것을 ReSharper에게 알리기 위해 ArgumentNotNull에 사용할 수있는 ReSharper 주석이 있습니까?

+0

메소드 본문에 baz가 사용되지 않는 경우 왜 null이 아니도록 요구합니까? 의미 상으로 무효 성을 요구하는 것이 * 'baz'를 사용한다고 주장하는 것은 의미심장하지 않습니다. – AakashM

+0

... baz를 사용했기 때문에 더 이상 사용하지 않기 때문에; 질문을 업데이트했습니다. –

답변

3

ReSharper 주석 라이브러리의 [AssertionMethod] 특성으로 "Require.ArgumentNotNull"메서드에 주석을 추가하면 ReSharper는 "전제 조건 검사에서만 매개 변수 사용"경고를 발행합니다.

이렇게 보이는 것이 문제를 해결합니다.

참고 : ReSharper 7.0에 적용됩니다. 이전 버전이 어떻게 처리되는지 확인해야합니다.

관련 문제