コレクションアクセス分析
ReSharper は、コレクションアイテムの値を分析するだけでなく、使用する各コレクション全体も分析します。このコレクションへの読み取りアクセスがあっても、コレクションが満たされない、変更されない場合は警告します
コレクションが決して読み込まれない場合
すべての標準コレクションタイプは、デフォルトでこの方法で分析されます。必要に応じて、この分析を IEnumerable
から派生したカスタムコレクションに適用することもできます。この場合、ReSharper に、コレクションの public メソッドの呼び出しがコレクションのコンテンツにどのように影響するかを伝える必要があります。そのためには、コレクションクラスのメソッドを [CollectionAccessAttribute] でマークします。[CollectionAccessAttribute] には、4 つのフラグのいずれかが必要です: None
、Read
、ModifyExisitingContent
、UpdatedContent
(最後の 2 つのフラグの違いは、UpdatedContent
は、マークされた関数がコレクションに新しい要素を追加できることを意味します)。これを説明する簡単な例を次に示します。
関連ページ:
価値と無効性の分析
ReSharper は、可能な「null」逆参照、重複ブール比較および null ・チェックを見つけるのに役立つ値分析を実行します。Null 許容値を分析するさまざまな方法:ReSharper は、いくつかの方法で値を分析できます。言語構成体の動作を理解します。次の例では、パラメーターが明示的に null 可能性をチェックされたという事実に基づいて、ReSharper はの値が実際に 'null' であると合理的に想定し、対応する警告を表示します。null 許容参照型が無効になっている場合、コ...
コードアノテーション属性
フレームワークは、以下で説明する多くの属性を提供します。これらの属性をコードで使用するには、ソースコードのアノテーションセクションの説明に従ってを参照する必要があります。アノテーション属性:CanBeNullAttribute マークされた要素の値がになることがあることを示します。そのため、使用前にのチェックが必要です。サンプル [CanBeNull] object Test() => null; void UseTest() { var p = Test(); var s = p.ToSt...