ReSharper
 
Get ReSharper
You are viewing the documentation for an earlier version of ReSharper.

Code Inspection: Field can be made readonly (Private Accessibility)

Last modified: 21 July 2022

Say you have decided to make an immutable Person class, initialized only via the constructor. You go ahead and implement the following:

public class Person
{
  private string name;
  private int age;
  public Person(string name, int age)
  {
    this.name = name;
    this.age = age;
  }
  public override string ToString() =>
    $"Name: {Name}, Age: {Age}";
}

ReSharper can detect that private name and age fields are only being assigned in the constructor and offers to create an additional safeguard — by marking them readonly, we get to ensure that this class will not inadvertently assign these fields anywhere within its methods.