As part of the Roslyn documentation on GitHub, there's a page called Language feature implementation status, with planned language features for C# and VB.
One feature I couldn't wrap my head around was private protected
access modifier:
private protected string GetId() { … }
There is also a page of C# Language Design Notes, which explains many new features, but not this one.
Eric Lippert said in a comment:
Your error is in thinking of the modifiers as increasing restrictions. The modifiers in fact always decrease restrictions. Remember, things are "private" by default; only by adding modifiers do you make them less restricted.
What is the meaning of private protected
? When might I use it?
Here are all access modifiers in Venn diagrams, from more limiting to more promiscuous:
private
:
private protected
: - added in C# 7.2
internal
:
protected
:
protected internal
:
public
: