public
est visible à partir de n'importe où.
internal
est visible que dans une assemblée
Vous avez tendance à usage interne seulement de protéger interne de l'Api. Par exemple, vous pourriez vous exposer à plusieurs surcharges de la méthode:
public int Add(int x, int y)
public int Add(int x,int y, int z)
Tous deux appel de la méthode interne
internal int Add(int[] numbers)
Vous pouvez ensuite mettre beaucoup de sophistication d'une méthode, mais de "protéger" à l'aide de façade de méthodes qui peuvent aider le programmeur à l'appel à la méthode correctement. (La méthode de mise en œuvre avec le tableau de paramètre peut avoir une limite arbitraire de valeurs, par exemple.)
Également intéressant de noter que l'utilisation de la Réflexion, de tout et de toutes les méthodes sont remboursables quel que soit leur visibilité. Un autre "hack" pour le contrôle de l'accès à l'interne caché Api.