public her yerden görülebilir.
internal yalnızca bir montaj içinde görülebilir
Dahili API'leri korumak için yalnızca dahili kullanma eğilimindesiniz. Örneğin, bir yöntemin birkaç aşırı yüklemesini açığa çıkarabilirsiniz:
public int Add(int x, int y)
public int Add(int x,int y, int z)
Her ikisi de dahili yöntemi çağırır
internal int Add(int[] numbers)
Daha sonra bir yönteme çok fazla karmaşıklık katabilirsiniz, ancak programcının yöntemi doğru bir şekilde çağırmasına yardımcı olabilecek cephe yöntemlerini kullanarak onu "koruyun". (Dizi parametresine sahip uygulama yöntemi, örneğin keyfi bir değer sınırına sahip olabilir.)
Ayrıca, Reflection'ı kullanarak, görünürlüklerine bakılmaksızın tüm yöntemlerin çağrılabilir olduğunu belirtmek gerekir. Dahili olarak gizlenmiş API'leri kontrol etmek / bunlara erişim sağlamak için başka bir "hack".