JetBrains Rider 2024.1 ヘルプ

コード検査: 共変種配列変換

C# では、派生型の配列を基本型の配列として参照できます。この Eric Lippert の投稿(英語)で説明したように、このデザインには利点と問題点があります。問題について言えば、以下の例を見てみましょう。string[] myStringsChangeFirstItem(object[] myArray) に渡すと、まだオブジェクトではなく文字列の配列があります。最初の配列要素に int 値を代入しようとすると、実行時に ArrayTypeMismatchException が取得されます。JetBrains Rider がここで問題を検出し、警告を出します。

void Test() { string[] myStrings = { "one","two","three" }; ChangeFirstItem(myStrings); //Co-variant array conversion can cause runtime exception... Console.WriteLine(myStrings[0]); } void ChangeFirstItem(object[] myArray) { myArray[0] = 10; //ArrayTypeMismatchException at runtime }

この種の問題を解決する方法はいくつかあります。JetBrains Rider は、初期配列の型を基本型の配列に変更するか、受け入れパラメーターの型を派生型の配列に変更するクイックフィックスを提案します。

これらの 2 つの修正に加えて、ToArray<T>() メソッド、つまり myStrings.ToArray<object>() を使用することもできます。上記の例では、ToArray<T>() が配列のコピーを作成するため、この修正は機能しません。

関連ページ:

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

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

コードの問題のクイックフィックス

JetBrains Rider を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味する