5

I am trying out Resharper and i notice that it is recommending to set instance level fields to readonly. For example:

private readonly IConnection _connection;

public RetrieveCommand(IConnection connection) {
    _connection = connection;
}

What is the benefit of marking fields like this readonly?

Josh
  • 981
  • 8
  • 18

2 Answers2

8

What are the benefits to marking a field as readonly in C#?

Community
  • 1
  • 1
aku
  • 119,266
  • 32
  • 169
  • 202
5

It recommends that you should set it to readonly because the only place you assign the _connection member is in the constructor. That is the only place you are allowed to assign to a readonly member.

See this article for an explanation: Developer Corner: Mark C# class data member as readonly when it's read only

mskfisher
  • 3,177
  • 3
  • 33
  • 47
Colin
  • 10,540
  • 25
  • 36