There is such code:
class A { protected virtual int Variable { get; private set; } } class B : A { public override int Variable { get; private set; } } Why the error occurs: "Error CS0507 'B.Variable": it is impossible to change access modifiers when overriding "protected" inherited from "A.Variable". "???