Convert Property to Auto-Property refactoring
Last modified: 21 July 2022ReSharper | Refactor | Convert | Property to Auto Property…
To assign a shortcut, go to Tools | Options | Environment | Keyboard and find the ReSharper_Property2Auto
command.
This refactoring helps you convert properties with private backing fields into auto-implemented properties (also known as auto-properties). The refactoring removes the backing field and replaces all its usages with the newly created auto-property.
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:
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:
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:
tip
Another way to convert properties with backing fields to auto-properties, is to use code cleanup with the Use auto-property, if possible and/or Make auto-property get-only, if possible tasks. For more information, see Use auto-properties
In the example below, the refactoring converts a property with a backing field to an auto-property:
Before refactoring
class Shape{ private Color bgColor; public Color BackgroundColor { get { return bgColor; } set { bgColor = value; } } public Shape(Color background) { bgColor = background; }}
After refactoring
class Shape{ public Color BackgroundColor { get; set; } public Shape(Color background) { BackgroundColor = background; }}
You can also convert properties to auto-properties using the refactoring commands. To do so, place the caret at the declaration or a usage of a property in the editor, or select it in the File Structure window, and then do one of the following:
Press Ctrl+Shift+R and then choose Convert Property to Auto-property
Right-click and choose Refactor | Convert Property to Auto-property in the context menu.
Choose ReSharper | Refactor | Convert | Property to Auto Property… in the main menu.
This feature is supported in the following languages and technologies:
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.