V3140. Property accessors use different backing fields.


Analyzer detected a property that uses different backing fields in its get and set accessors. This can indicate a misprint or a copy-paste error originating from another property.

Let's review an example from a real-life application, where a developer made similar error:

String _heading; String _copyright;

public string Heading
{   
    get { return this._heading; }
    set { this._heading = value; } 
}

public string Copyright
{   
    get { return this._heading; }
    set { this._copyright = value; }
}

Here, the get accessor of the 'Copyright' property should return the '_copyright' field. Instead, '_heading' field is returned.

This is how the correct code will look like:

String _heading; String _copyright;

public string Heading
{   
    get { return this._heading; }
    set { this._heading = value; }
}

public string Copyright
{   
    get { return this._copyright; }
    set { this._copyright = value; }
}

Bugs Found

Checked Projects
355
Collected Errors
13 303