コードインスペクション:アクセスされていない位置プロパティ(非公開アクセシビリティ)
C# 9 record 構文は、 Equals()/GetHashCode()/ToString() 実装、プライマリコンストラクターパラメーターに対応するプロパティ、および Deconstruct() メソッドを含む、一連のメンバーを暗黙的に定義します。
これらすべての暗黙的な定義を考慮すると、JetBrains Rider は一度もアクセスされないレコードの位置プロパティを報告します。
冗長な位置メンバーの削除を安全にするために、 未使用のプロパティを削除する クイックフィックス(Alt+Enter )は 安全な削除リファクタリング を呼び出して、すべてのレコード使用パターンをサポートします。 上記の例では、JetBrains Rider はすべての C# 分解フォームでの間接使用を認識し、そのような分解から対応する _ を削除できます。
ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。
簡易的なグローバル使用状況チェック: JetBrains Rider 設定 の ページで ソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示する を選択し、 Ctrl+Alt+S を実行します。
ソリューション全体解析: JetBrains Rider 設定 の ページで ソリューション全体の分析を有効化する を選択します Ctrl+Alt+S。
報告された位置メンバーがソリューション内で直接使用されていない場合でも、間接的に (たとえばリフレクションを介して) 使用される場合や、単にパブリック API として設計されている場合があります。 これらのすべてのケースでは、次のいずれかの方法で、位置メンバーの使用状況チェックインスペクションを 抑制する必要があります。
推奨される方法は、暗黙的に使用されている位置メンバーに コードアノテーション属性を付与することです。 この目的のための属性には、 [UsedImplicitly] と [PublicAPI] があります。これらは機能的に類似していますが、位置メンバーが実際にどのように使われているかをあなたやチームメンバーが理解しやすくなります。
また、カスタム属性を使用してインスペクションの使用状況を抑制することもできます。 これを行うには、その属性の定義に [MeansImplicitUse] 属性を付けます。
そして最後に、特定の使用チェックインスペクションを、 抑制コメントまたは抑制属性を持つ他のコードインスペクションと同様に抑制することができます。