internal je prístupné v rámci 1 assemnly - tj. v rámci dll-ky - ak máš projekt s viacerými dllkami (čo je väčšina), tak týmto si vieš riadiť viditeľnosť tak, že v rámci tvojej dll-ky to bude viditeľné a mimo dll-ky nie...
protected internal je to isté, len v rámci tvojej dll-ky to bude protected a mimo dll-ky to nebude viditeľné (private)