public

Tout autre code du même assembly ou d'un autre assembly qui y fait référence peut accéder au type ou au membre.

private

Seul le code de la même classe ou du même struct peut accéder au type ou au membre.

protected

Seul le code de la même classe ou du même struct, ou d'une classe dérivée de cette classe, peut accéder au type ou au membre.

internal

Tout code du même assembly, mais pas d'un autre assembly, peut accéder au type ou au membre.

Protected internal

Le type ou le membre est accessible par tout code de l'assembly dans lequel il est déclaré, ou à partir d'une classe dérivée dans un autre assembly. L'accès à partir d'un autre assembly doit avoir lieu dans une déclaration de classe qui dérive de la classe dans laquelle l'élément interne protégé est déclaré, et il doit avoir lieu via une instance du type de la classe dérivée.


Par défaut, si rien n'est spécifié, l'accès est réglé au plus restrictif. Les définitions de classes seront ainsi réglées à internal quand elles sont directement dans un namespace ou private s'il s'agit d'une classe imbriquée. Les méthodes et attributs seront réglés à private.

Pour plus d'information, voir la Documentation MSDN sur le sujet

Voir aussi les modificateurs d'accès pour les autre types