Подумайте о том, когда вы пересматриваете код самостоятельно. Вы видите то, что не имеет смысла, насколько вы можете видеть. Есть несколько вероятных возможностей:
- Разработчик сделал что-то глупое.
- Разработчик сделал что-то слишком умное, чтобы его цель была очевидна для вас.
- Разработчик сделал что-то разумное, что больше не имеет смысла из-за изменений, произошедших за это время.
- Разработчик сделал что-то, что пока не имеет смысла, но будет, если произойдет запланированное изменение.
В первом случае они должны это исправить.
Во втором случае они должны это задокументировать.
В третьем случае они должны изменить его; это мало что даст на практике, но код будет иметь больше смысла, и он может иметь некоторое незначительное преимущество в производительности.
В четвертом случае они должны документировать это на время и либо внести это изменение, либо отказаться от него раньше, чем позже.
В любом случае, вы хотели бы обсудить это с ними.
Здесь то же самое, нет смысла добавлять защищенный член в закрытый класс. Я не знаю, почему вы это сделали, и не могу решить, какой из четырех случаев выше применим, но один из них подходит. Предупреждение подчеркивает это. Выполняйте любое из четырех действий в зависимости от того, какой из четырех случаев действует.