クラスのインライン化リファクタリング
このリファクタリングでは、あるクラスを別のクラスにマージすることができます。 マージするクラスは削除され、そのメンバーはマージされたクラスが使用されるクラスに移動され、マージされたクラスのすべての用途がそれに応じて更新されます。
以下の例では、 Painter クラス(つまり、フィールド myColor とメソッド InitPainter )を Circle クラスにマージします。
class Painter
{
private Color myColor;
public Painter(Color c)
{
myColor = c;
InitPainter(myColor);
}
private void InitPainter(Color color)
{
//init painter
}
}
class Circle
{
private Painter myPainter;
public Circle(Color c)
{
myPainter = new Painter(c);
}
}
class Circle
{
private Color myColor;
public Circle(Color c)
{
myColor = c;
InitPainter(myColor);
}
private void InitPainter(Color color)
{
//init painter
}
}
クラスをインライン化する
マージするクラスを表すプロパティまたはフィールドの名前または用途にキャレットを置きます。 または、 ファイル構造ウィンドウウィンドウでプロパティまたはフィールドを選択します。
次のいずれかを実行します。
Control+Alt+N を押し、次に クラスのインライン化 を選択します。
Control+Shift+R を押し、を クラスのインライン化 を選択します。
右クリックして、コンテキストメニューから リファクタリング | クラスのインライン化 を選択します。
メインメニューから を選択します。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。
リファクタリングを適用した後、プロパティまたはフィールドはその型のメンバーに置き換えられます。 プロパティまたはフィールドのすべての用途はそれに応じて更新されます。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。
2026 年 6 月 12 日