ReSharper 2024.3 ヘルプ

コード検査: 'IsInstanceOfType()' 呼び出しを簡素化する

このインスペクションは、IsAssignableFrom(value.GetType()) のような呼び出しを報告します。このような呼び出しは、IsInstanceOfType(value) または value is string として簡略化できます。これらの式はすべて、セマンティクスとパフォーマンスの点で同一ですが、提案された代替手段により読みやすさが向上します。

提案された変換には追加の安全上の利点があります。valuenull の場合、IsInstanceOfType()is の両方が false を返すため、GetType() 呼び出しによってスローされる可能性のある NullReferenceException が回避されます。

public bool IsCompatibleWithString(object value) { return typeof(string).IsAssignableFrom(value.GetType()); }
public bool IsCompatibleWithString(object value) { return value is string; }

関連ページ:

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

設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...

コード検査: プライマリコンストラクターパラメーターのキャプチャーは許可されていません

非レコード型のプライマリコンストラクターを使用すると、型定義がよりコンパクトになります。ただし、欠点として、プライマリコンストラクターパラメーターをインスタンスメンバー本体内に「キャプチャー」するという潜在的な問題が生じます。C# のすべてのパラメーター変数は変更可能です。つまり、どのインスタンスメンバーも初期化後に値を変更でき、パラメーターを読み取り専用に強制する構文はありません。このインスペクションは、キャプチャーされたパラメーターを変更するコードが現在存在しない場合でも、インスタンスメンバー...