2009-07-29 16 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は「バズ」は使用されている、と私に警告していないと思います。私がArgumentNotNullでReSharperにこのメソッドが実際にパラメータを "使用"していないことを伝えるために使用できるReSharper注釈はありますか?そしてまだヒントを発行していますか?

+0

メソッド本体にbazが使用されていない場合、なぜnullでないことが必要ですか?意味的ではないことを要求することは* bazを使うことであると主張するのは難しいことではありません。 – AakashM

+0

...これはbazを使用していたためですが、これ以上はありません。質問が更新されました。 –

答えて

3

ReSharper注釈ライブラリの[AssertionMethod]属性で "Require.ArgumentNotNull"メソッドに注釈を付けると、ReSharperは "前提条件チェックでのみパラメータを使用する"という警告を発行します。

これはあなたの問題を解決するように見えます。

注:これはReSharper 7.0にも当てはまりますが、古いバージョンでこれをどのように処理するかを確認する必要があります。

関連する問題