## Why is this an issue?

Having a field in a child class with a name that differs from a parent class' field only by capitalization is sure to cause confusion. Such child class fields should be renamed.

### Noncompliant code example

    Public Class Fruit

        Protected PlantingSeason As String

        ' ...

    End Class

    Public Class Raspberry
        Inherits Fruit

        Protected Plantingseason As String  ' Noncompliant

        ' ...

    End Class

### Compliant solution

    Public Class Fruit

        Protected PlantingSeason As String

        ' ...

    End Class

    Public Class Raspberry
        Inherits Fruit

        Protected WhenToPlant As String

        ' ...

    End Class

Or

    Public Class Fruit

        Protected PlantingSeason As String

        ' ...

    End Class

    Public Class Raspberry
        Inherits Fruit

        ' Field removed, parent field will be used instead

    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.