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

Code Inspection: Non-accessed positional property (private accessibility)

Last modified: 21 July 2022

C# 9 record syntax defines a bunch of members implicitly, including Equals()/GetHashCode()/ToString() implementations, properties corresponding to primary constructor parameters, and the Deconstruct() method.

Taking into account all these implicit definitions, ReSharper reports positional properties of records that are never accessed.

To make removal of redundant positional members safe, the Remove unused property quick-fix (Alt+Enter) invokes the Safe Delete refactoring to support all record usage patterns. In the example above, ReSharper recognizes indirect usages in all C# deconstruction forms and is able to remove the corresponding _ from such deconstructions.