インスタンスメソッドの移動リファクタリング
このリファクタリングにより、インスタンス(非静的)メソッドを別の型に移動できます。 静的メンバーを移動するとは対照的に、インスタンスメソッドはどの型にも移動できません。 潜在的なターゲット型のリストには、メソッドパラメーターの型と現在の型のフィールドの型が含まれます。 メソッドが他のクラスメンバーを使用する場合、リファクタリングはソースクラスをパラメーターとして渡します。 また、必要に応じて、非パブリックメンバーのアクセス権を変更し、フィールドをパブリックプロパティにカプセル化します。 メソッドのすべての使用箇所は自動的に更新されます。
このリファクタリングは、メソッドのロジックがメソッドのパラメーターまたはフィールドとして渡される別の型に適していることがわかっている場合に役立ちます。
以下の例では、リファクタリングを LogDrawing インスタンスメソッドに適用して Logger クラスに移動します。 メソッドで使用されるプライベート pivot フィールドは、対応するプロパティに自動的にカプセル化されます。
インスタンスメソッドを別の型に移動する
エディターでインスタンスメソッドの宣言または使用箇所にキャレットを置くか、 ファイル構造ウィンドウウィンドウで選択します。
次のいずれかを実行します。
F6 を押します。
Control+Shift+R を押し、を インスタンスメソッドの移動 を選択します。
右クリックして、コンテキストメニューから リファクタリング | インスタンスメソッドの移動 を選択します。
メインメニューから を選択します。
インスタンスメソッドの移動 ダイアログが開きます。
宛先型を選択します。
リファクタリングを適用するには、 次へ をクリックします。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。

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