ReSharper Web Help

The Replace Constructor with Factory Method refactoring allows you to encapsulate a constructor with a static method that returns a new instance of a class.

The Factory Method pattern is a way of creating objects without specifying the exact class of object that will be created. A separate method for creating the objects is generated.

To replace a constructor with a factory method
  1. In the editor, place the caret at a constructor.
  2. Choose ReSharper | Refactor | Replace Constructor with Factory Method. The Replace Constructor with Factory Method dialog box opens:
  3. In the Factory method name text box, specify a name for the new factory method.
  4. In the In class drop-down list, specify the fully qualified name of the class that the factory method should instantiate.
  5. Click Next. If no conflicts are found, the refactoring is applied immediately. Otherwise, resolve conflicts.

Consider the following example:

After replacing this public constructor with a factory method, the constructor is made private, and a new static factory method is introduced that calls the constructor:

Existing calls to the constructor are replaced with calls to the new factory method.

See Also

External Links