コード検査: 'IsInstanceOfType()' 呼び出しを簡素化する
このインスペクションは、IsAssignableFrom(value.GetType())
のような呼び出しを報告します。このような呼び出しは、IsInstanceOfType(value)
または value is string
として簡略化できます。これらの式はすべて、セマンティクスとパフォーマンスの点で同一ですが、提案された代替手段により読みやすさが向上します。
提案された変換には追加の安全上の利点があります。value
が null
の場合、IsInstanceOfType()
と is
の両方が false
を返すため、GetType()
呼び出しによってスローされる可能性のある NullReferenceException
が回避されます。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コード検査: プライマリコンストラクターパラメーターのキャプチャーは許可されていません
非レコード型のプライマリコンストラクターを使用すると、型定義がよりコンパクトになります。ただし、欠点として、プライマリコンストラクターパラメーターをインスタンスメンバー本体内に「キャプチャー」するという潜在的な問題が生じます。C# のすべてのパラメーター変数は変更可能です。つまり、どのインスタンスメンバーも初期化後に値を変更でき、パラメーターを読み取り専用に強制する構文はありません。このインスペクションは、キャプチャーされたパラメーターを変更するコードが現在存在しない場合でも、インスタンスメンバー...