ReSharper Help

Generating Properties

ReSharper | Edit | Generate Code | Properties / Read-only Properties
Alt+Insert | Properties / Read-only Properties
ReSharper_GenerateProperties / ReSharper_GenerateReadOnlyProperties

ReSharper will help you generate properties for all members that you want to expose.

To generate properties

  1. Position the caret within a type where you would like to generate properties.
  2. On the main menu, choose ReSharper | Edit | Generate Code, or press Alt+Insert.
  3. In the Generate pop-up menu, select Properties or Read-only properties.
  4. In the Generate dialog box that appears, select fields to generate properties for.
    Generating properties
  5. Optionally, use the following controls that are applied to all properties at this point (see next step for guidelines on customizing individual properties):
    • Access Rights defines common access rights for generated properties.
    • Read-only defines whether to generate properties as read-only or not. If you choose Automatic, ReSharper will generate only getters for read-only fields, and both getters and setters for any other fields.
    • Virtual (if applicable) adds the virtual modifier to generated properties.
    • Notify on property changes (if applicable) If your class implements the INotifyPropertyChanged or inherits from a class that supports property change notifications (e.g., Prism’s NotificationObject), you can choose to implement properties with change notification calls.
  6. Do one of the following:
    • To configure generation options (listed in the previous step) individually for specific fields, click Advanced. You can then select individual fields, or Ctrl-click two or more fields to configure their respective settings in a uniform fashion.
      After finishing this step, click Next, and as soon as the following screen appears, click Finish.
    • Click Finish to complete the wizard.
      For example, if two fields are configured to be accessed with public read-only properties, and the other two are configured to be accessed with protected virtual read-write properties, the following code is generated:

You can convert any property with backing field to an auto-implemented property: position the caret at the name of the property, press Alt+Enter or click on the quick-fix icon, and then choose Convert to auto-property in the action list:

'Convert to auto-property' quick-fix

This feature is supported in the following languages/technologies:

C# VB.NET C++ HTML ASPX Razor JavaScript TypeScript CSS XML XAML RESX Build Scripts
feature_available feature_available feature_available

The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by Language section.

See Also

Last modified: 21 September 2015