JetBrains Rider 2026.1 Help

コンストラクターをファクトリメソッドで置換リファクタリング

このリファクタリングは、既存のクラスに対して ファクトリメソッドパターン を実装するのに役立ちます。 同じクラス内にファクトリメソッドを作成する場合、リファクタリングは選択したコンストラクターを private にし、static メソッドにカプセル化してクラスの新しいインスタンスを返すようにします。 他のクラスにファクトリメソッドを作成することもできます。 この場合、コンストラクターは public のままですが、必要に応じて後でアクセス修飾子を変更できます。

コンストラクターの使用があれば、ファクトリメソッド呼び出しに置き換えられます。

以下の例では、リファクタリングを使用して同じクラスのファクトリメソッドを追加しています:

class Foo { public Foo() { // instance initialization } }
class Foo { public static Foo CreateFoo() { return new Foo(); } private Foo() { // instance initialization } }

コンストラクターをファクトリメソッドに置き換える

  1. エディターでキャレットをコンストラクターに置くか、 構造ウィンドウウィンドウでコンストラクターを選択します。

  2. 次のいずれかを実行します:

    • Ctrl+Alt+Shift+T を押し、を コンストラクターをファクトリメソッドで置換 を選択します。

    • メインメニューから リファクタリング | コンストラクターをファクトリメソッドで置換 を選択します。

    コンストラクターをファクトリメソッドで置換 ダイアログが開きます。

  3. ファクトリメソッドの名前を指定するか、提案された名前を受け入れます。

  4. デフォルトでは、リファクタリングは同じクラスにファクトリメソッドを作成します。 ファクトリメソッドを別のクラスに作成する場合は、クラスの完全修飾名を指定します。

  5. リファクタリングを適用するには、 次へ をクリックします。

  6. 競合するものが見つからない場合、JetBrains Rider はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。

JetBrains Rider. コンストラクターをファクトリメソッドで置換リファクタリング
2026 年 6 月 12 日