JetBrains Rider 2024.1 ヘルプ

コード検査: アクセスされていない位置プロパティ (private アクセス)

C# 9 record 構文は、Equals() / GetHashCode() / ToString() 実装、プライマリコンストラクターパラメーターに対応するプロパティ、および Deconstruct() メソッドを含む、一連のメンバーを暗黙的に定義します。

これらすべての暗黙の定義を考慮に入れて、JetBrains Rider はアクセスされないレコードの位置プロパティを報告します。

class Test { record Person( string Name, int Age, // non-accessed positional property object Tag ); public void PrintName() { var (name, _, tag) = GetPerson(); Console.WriteLine(name); } private Person GetPerson() => new("Alex", 32, null); }
class Test { record Person( string Name, object Tag ); public void PrintName() { var (name, tag) = GetPerson(); Console.WriteLine(name); } private Person GetPerson() => new("Alex", null); }

冗長な位置メンバーの削除を安全にするために、未使用のプロパティを削除しますクイックフィックス(Alt+Enter)は安全な削除リファクタリングを呼び出して、すべてのレコード使用パターンをサポートします。上記の例では、JetBrains Rider は、すべての C# 分解フォームでの間接的な使用を認識し、そのような分解から対応する _ を削除できます。

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...

安全な削除リファクタリング

他のシンボルやプロジェクト / アセンブリ参照を削除する場合は、このリファクタリングを使用して、削除後にソリューションがコンパイルされるようにします。削除されたアイテムへの参照がない場合、またはすべての参照が安全に折りたたまれている場合、アイテムはすぐに削除されます。そうしないと、JetBrains Rider は削除できないすべての参照を表示し、対応するコードを編集することができます。シンボルを削除した後に空のファイルが残っている場合、リファクタリングはこれらのファイルも削除できます。シンボル...

コード検査: 取得したロックの順序に一貫性がない

クラスにスレッドセーフを実現するためにロックで保護された複数のリソースがある場合、JetBrains Rider はマルチスレッド環境で可能な実行パスを分析し(クラスのパブリック API を複数のスレッドで同時に使用できると想定)、そのような実行パスで取得されるロックの順序を次の例に示すように、実行時にデッドロックが発生する可能性のあるサイクルを見つけます。警告メッセージは、形成される可能性のあるサイクルの詳細な説明と例を提供します。class MultiThreadedComponent {...