Generating Type Constructors
Alt+Insert | Constructor
The constructor generation wizard creates a non-default constructor that takes parameters for selected fields, properties and auto-properties.
All generated constructors follow the same pattern where:
- Each field, property, or auto-property included in the constructor is initialized with a parameter.
- The name of the parameter is derived from the name of the corresponding field or property.
If there are non-default base type constructors, the required parameters are added to the generated constructor and passed to the base class constructor.
In the example below, this command is used to generate a new
Circle constructor that takes two additional parameters to initialize
|Before generation||After generation|
| || |
To generate a constructor
- In the editor, set the caret on the type name or within a type at the line where you want to insert a constructor. If the caret is on the type name, the generated code will be added in the beginning of the type declaration.
- Press N/A or choose in the main menu. Alternatively, you can press Ctrl+Shift+A, start typing the command name in the pop-up, and then choose it there.
- In the Generate pop-up menu, select Constructor.
- In the Generate dialog that appears, select type members that should be initialized in the new constructor. Optionally, select one or several base class constructors. For every selected base constructor, a new constructor will be generated that will call the base and additionally initialize selected members.
Optionally, use the following controls in the dialog:
- Access Rights — allows you to define access rights for the generated constructor.
- Check parameters for null (appears if the class has fields or properties of nullable types) — if this check box is selected, JetBrains Rider will generate configurable null checks for each nullable parameter, for example:
if (param == null) throw new ArgumentNullException(nameof(param));
- Make parameters optional — if this check box is selected, JetBrains Rider will make all parameters of the generated constructor optional and add default values corresponding to the parameter types.
- Click OK to complete the wizard.