JetBrains Rider 2024.1 ヘルプ

コード検査: メンバーは静的にすることができます (共有) (private アクセス)

以下のメソッド Print を考えてみましょう。

public class Foo { public void Test() { Print("John"); } private void Print(string name) { Console.WriteLine("Hello, {0}!", name); } }
Public Class Foo Public Sub Test() Print("John") End Sub Private Sub Print(name As String) Console.WriteLine("Hello, {0}!", name) End Sub End Class

JetBrains Rider は、Print にインスタンスの使用箇所がなく、静的にすることができることを提案しています。しかし、何がポイントですか? 静的メンバーは、特定の状況下で小さなパフォーマンス上の利点をもたらします。

マイクロソフトのドキュメントはこれについて何を言いたいのですか?

- インスタンスデータまたは呼び出しインスタンスメソッドにアクセスしないメンバーは、静的(Visual Basic では共有)としてマークすることができます。メソッドを静的にマークした後、コンパイラーはこれらのメンバーに仮想ではない呼び出しサイトを発行します。非仮想呼び出しサイトを発行すると、現在のオブジェクトポインタが null でないことを確認する各呼び出しの実行時のチェックが防止されます。これにより、パフォーマンス重視のコードでは、測定可能なパフォーマンス向上を実現できます。場合によっては、現在のオブジェクトインスタンスへのアクセスの失敗は、正確性の問題を表します。

関連ページ:

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

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

コード検査: メンバーを保護することができます (private アクセス)

JetBrains Rider は、特定のクラスメンバーが実際にどこで使用されているかを判断するのに優れています。型または派生型以外で使用されていない場合、JetBrains Rider はそのメンバーをとしてマークします。メンバーが派生クラスでも使用されている場合、JetBrains Rider はそれをとしてマークします。これらの推奨事項は、自動的に適用される前に考慮する必要があることに注意してください。結局、パブリック API を作成しているかもしれませんし、非標準的な方法(リフレクション...