== Why is this an issue?

include::../description.adoc[]

=== Noncompliant code example

[source,vbnet]
----
Public Class Fruit

    Protected Ripe As Season
    Protected Flesh As Color

    ' ...

End Class

Public Class Raspberry
    Inherits Fruit

    Private Ripe As Boolean         ' Noncompliant
    Private Shared FLESH As Color   ' Noncompliant

    ' ...

End Class
----

=== Compliant solution

[source,vbnet]
----
Public Class Fruit

    Protected Ripe As Season
    Protected Flesh As Color

    ' ...

End Class

Public Class Raspberry
    Inherits Fruit

    Private Riped As Boolean
    Private Shared FLESH_COLOR As Color   ' Noncompliant

    ' ...

End Class
----

=== Exceptions

This rule ignores same-name fields that are ``++Shared++`` in both the parent and child classes. It also ignores ``++Private++`` parent class fields and fields explicitly declared as ``++Shadows++``, but in all other such cases, the child class field should be renamed.


[source,vbnet]
----
Public Class Fruit

    Private Ripe As Season
    Protected Flesh As Color

    ' ...

End Class

Public Class Raspberry
    Inherits Fruit

    Private Ripe As Season      ' Compliant as parent field 'Ripe' is not visible from Raspberry anyway
    Protected Shadows Flesh As Color    ' Compliant as the intention is explicitly declared

    ' ...

End Class
----

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)

include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]
