rspec/rules/S4025/csharp/rule.adoc
2021-02-02 16:54:43 +01:00

53 lines
827 B
Plaintext

include::../description.adoc[]
== Noncompliant Code Example
----
public class Fruit
{
protected string plantingSeason;
//...
}
public class Raspberry : Fruit
{
protected string plantingseason; // Noncompliant
// ...
}
----
== Compliant Solution
----
public class Fruit
{
protected string plantingSeason;
//...
}
public class Raspberry : Fruit
{
protected string whenToPlant;
// ...
}
----
Or
----
public class Fruit
{
protected string plantingSeason;
//...
}
public class Raspberry : Fruit
{
// field removed; parent field will be used instead
// ...
}
----
== Exceptions
This rule ignores same-name fields that are ``++static++`` in both the parent and child classes. It also ignores ``++private++`` parent class fields, but in all other such cases, the child class field should be renamed.