The protected internal keyword marks field, methods, properties and nested classes for use inside the same assembly or derived classes in another assembly:
Assembly 1
public class Foo
{
public string MyPublicProperty { get; set; }
protected internal string MyProtectedInternalPropert...