コード検査: キャプチャーされたプライマリコンストラクターパラメーターは変更可能です
非レコード型のプライマリコンストラクターを使用すると、型定義がよりコンパクトになります。ただし、欠点として、プライマリコンストラクターパラメーターをインスタンスメンバー本体内に「キャプチャー」するという潜在的な問題が生じます。C# のすべてのパラメーター変数は変更可能です。つまり、どのインスタンスメンバーも初期化後に値を変更でき、パラメーターを読み取り専用に強制する構文はありません。
このインスペクションは、「キャプチャーされた」プライマリコンストラクターパラメーターが実際にメンバーによって変更されるケースを報告します。
クイックフィックスは、通常の可変フィールドを導入することで、可変クラスレベルの状態を明示的に表現できます。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コード検査: 可変長エスケープシーケンスとテキストの混在を避ける
このコードインスペクションは、で始まるエスケープシーケンスについて警告します。これらのシーケンスはさまざまな長さの 16 進数で動作するため、テキストが ABCDEF で始まる場合、後続のテキストの最初の文字を誤ってシーケンスに「添付」してしまう可能性があります。それとは対照的に、エスケープシーケンスでは、の後に常に 4 桁の 16 進数が必要です。このようなエスケープシーケンスの脆弱性を軽減するためのクイックフィックスがあります。エスケープシーケンスを使用するか、文字列リテラルを分割してエスケ...