メソッド / プロパティを静的にするリファクタリング
このリファクタリングでは、インスタンスメソッドまたはプロパティを静的インスタンスメソッドまたはプロパティに変換できます。 すべての呼び出し、実装、上書きが自動的に修正されます。
変換されたインスタンスメソッドがインスタンスメンバーを使用している場合、ReSharper は、これらの使用箇所に適用するための this を表す必要なパラメーターを追加するのに役立ちます。 変換されたインスタンスプロパティがインスタンスメンバーを使用する場合、リファクタリングは使用できません。
以下の例では、このリファクタリングを使用して、 Info クラスのインスタンスメソッド Merge を静的メソッドに変換します。 リファクタリングの後、インスタンスプロパティ Id および Name の使用が新しいパラメーター i1 に適用されます。
メソッドまたはプロパティを静的にする
エディターでインスタンスメソッドまたはプロパティの宣言や使用箇所にキャレットを置くか、 ファイル構造ウィンドウウィンドウで選択してください。
次のいずれかを実行します。
Control+Shift+R を押し、を static にする を選択します。
右クリックして、コンテキストメニューから リファクタリング | static にする を選択します。
メインメニューから を選択します。
static にする ダイアログが開きます。
メソッドでインスタンスメンバーを使用する場合は、オプション [ 型名 ] のパラメーターとして 'this' を追加する を選択することをお勧めします。 この場合、ReSharper によってこれらの使用箇所に適用するための必要なパラメーターが追加されます。 必要に応じて、パラメーターを追加せずに実行するか、インスタンスメンバーの使用の一部にパラメーターを適用できます。 これらの場合、リファクタリング後、静的コンテキストでのインスタンスの無効な使用箇所を手動で修正する必要がある場合があります。
リファクタリングを適用するには、 次へ をクリックします。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。

この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。