コード検査: メンバーは静的にすることができます (共有) (private アクセス)
以下のメソッド Print を考えてみましょう。
ReSharper は、Print にインスタンスの使用箇所がなく、静的にすることができることを提案しています。しかし、何がポイントですか? 静的メンバーは、特定の状況下で小さなパフォーマンス上の利点をもたらします。
Microsoft のドキュメントはこれについて何を言いたいのですか?
- インスタンスデータまたは呼び出しインスタンスメソッドにアクセスしないメンバーは、静的(Visual Basic では共有)としてマークすることができます。メソッドを静的にマークした後、コンパイラーはこれらのメンバーに仮想ではない呼び出しサイトを発行します。非仮想呼び出しサイトを発行すると、現在のオブジェクトポインタが null でないことを確認する各呼び出しの実行時のチェックが防止されます。これにより、パフォーマンス重視のコードでは、測定可能なパフォーマンス向上を実現できます。場合によっては、現在のオブジェクトインスタンスへのアクセスの失敗は、正確性の問題を表します。
関連ページ:
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...
コード検査: メンバーを保護することができます (private アクセス)
ReSharper は、特定のクラスメンバーが実際にどこで使用されているかを判断するのに優れています。型または派生型以外で使用されていない場合、ReSharper はそのメンバーをとしてマークします。メンバーが派生クラスでも使用されている場合、ReSharper はそれをとしてマークします。これらの推奨事項は、自動的に適用される前に考慮する必要があることに注意してください。結局、パブリック API を作成しているかもしれませんし、非標準的な方法(リフレクションなど)でアクセスされることを意図した...