JetBrains Rider 2017.2 Help

Code Inspection: Member can be made protected (private accessibility)

JetBrains Rider is smart enough to determine where a particular class member is actually being used. If it isn’t used outside the type or derived types, JetBrains Rider will offer to mark the member as private. If the member is used in derived classes too, JetBrains Rider will offer to mark it as protected.

Please note that these recommendations need to be considered before being automatically applied. After all, you may be creating a public API, or you may be making types intended to be accessed in non-standard ways (e.g., reflection). In this case, constraining visibility might not be a good idea. If necessary, you can always suppress the inspection.

In contrast to the similar solution-wide inspection that also detects unused public members in non-nested types, this local inspection will only notify you about public members in non-public nested types, which are not used in the parent type. This can indicate one of the two problems:

  • The public member is intended to be protected. In this case, you can simply apply the quick-fix that JetBrains Rider suggests.
  • The public member is intended to be used in the parent class but not used there. In this case, the member cannot be a part of a public API and probably hides some not implemented functionality.
Last modified: 17 November 2017

See Also