== Why is this an issue?

include::../description.adoc[]

=== Noncompliant code example

[source,csharp]
----
public class Fruit 
{ 
  protected Season ripe; 
  protected Color flesh; 

  // ... 
} 

public class Raspberry : Fruit 
{ 
  private bool ripe; // Noncompliant 
  private static Color FLESH; // Noncompliant 
} 
----

=== Compliant solution

[source,csharp]
----
public class Fruit 
{ 
  protected Season ripe; 
  protected Color flesh; 

  // ... 
} 

public class Raspberry : Fruit 
{ 
  private bool ripened; 
  private static Color FLESH_COLOR; 
} 
----

=== 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.


[source,csharp]
----
public class Fruit 
{
  private Season ripe;
  // ...
}

public class Raspberry : Fruit 
{
  private Season ripe;  // Compliant as parent field 'ripe' is anyway not visible from Raspberry
  // ...
}
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

* "xxx" is the name of a member in "yyy".
* "xxx" differs only by case from "XXX" in "yyy".


'''
== Comments And Links
(visible only on this page)

=== on 2 Jul 2015, 06:56:17 Tamas Vajk wrote:
\[~ann.campbell.2] I added properties as well to the description.

LGTM

=== on 2 Jul 2015, 13:11:38 Ann Campbell wrote:
thanks [~tamas.vajk]

=== on 2 Dec 2015, 14:30:30 Tamas Vajk wrote:
This rule has been reverted back to its original scope, and RSPEC-3434 has been created to handle the methods and properties.

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
