ReSharper
 
Get ReSharper
Get your hands on the new features ahead of the release by joining the Early Access Program for ReSharper 2025.1! Learn more

Use auto-properties

Last modified: 11 February 2024

Auto-implemented properties (also known as auto-properties) allow declaring type properties that do not have additional logic in a simpler way. By default, ReSharper encourages using of auto-properties when possible, but this behavior is configurable.

By default, ReSharper highlights most of the properties that could be converted to auto-properties and suggests the corresponding quick-fix or fix in scope:

Use auto-property quick-fix

If you do not want ReSharper to suggest this, you can disable the code inspection that detects it (Convert property to auto-property). In this case, properties with backing fields are not highlighted and quick-fixes are not suggested, but you can still apply the conversion with the context action or with the corresponding refactoring:

To auto-property context action

The reverse functionality of converting existing auto-properties to properties with backing field is also available with the corresponding context action. You can also generate default bodies for property accessors using the To computed property context action:

To property with backing field context action

Another option to convert properties to auto-properties in a bulk mode is code cleanup. You can either run code cleanup with the Built-in: Full Cleanup profile or create and run a custom profile solely targeted at your specific task as described below.

If you want to convert properties to auto-properties without opening the Code Cleanup dialog to choose a profile, you can bind the created profile to the silent cleanup and run it by pressing Ctrl0E,0F. You can also create a custom cleanup profile that would combine converting to auto-properties with other code style tasks.

You can convert properties to auto-properties every time you save changes in a file to make sure that your edits always comply with your code style.

This feature is supported in the following languages and technologies: