Модификатор private protected в C#
Модификатор private protected означает «и наследник, и та же сборка» - правило
«и» (пересечение). Это уже, чем protected internal с правилом
«или»: наследник из другой сборки член не увидит.
Поле читает наследник своим методом. Посторонний тип даже в той же сборке без наследования до поля не дотянется:
Console.WriteLine(new Child().Read());
class Root
{
private protected int Secret = 3;
}
class Child : Root
{
public int Read() => Secret;
}
Скройте у замка число попыток 5 так, чтобы его увидел только класс-наследник в том же проекте.
Верните это число из публичного метода наследника и выведите его в консоль.