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

Make auto-properties get-only

Last modified: 11 February 2024

Starting from C# 6.0, you can define get-only auto-properties, which (similarly to readonly fields) can be only initialized via a constructor or an initializer. JetBrains Rider detects and helps you remove the redundant set accessor on auto-properties that are initialized from the constructor/initializer and have no write usages.

Make auto-property get-only fix

If you do not want JetBrains Rider to suggest this, you can disable the code inspection that detects it (Auto-property can be made get-only).

The reverse functionality is also available. If you decide to change the value of a get-only property later in your code (which leads to a compiler error), JetBrains Rider detects the error and suggests fixing it by adding the setter for the property:

JetBrains Rider: quick-fix for a missing setter

Another option to make auto-properties get-only 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 make auto-properties get-only without opening the Reformat and Cleanup Code 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 making properties get-only with other code style tasks.