A linguagem C# oferece diversos tipos de modificadores de acesso para especificar a acessibilidade da declaração de um membro ou um tipo. Alguns desses modificadores são descritos a seguir. I. Com este modificador, o acesso é permitido somente dentro da classe onde ele foi declarado. Por padrão, é a
visibilidade definida para métodos e atributos em uma classe. II. Com este modificador, apenas a classe que contém o modificador e os tipos derivados dessa classe têm o acesso. III. Com este modificador, o acesso é limitado ao assembly atual e aos tipos derivados da classe que contém o modificador. Os itens I, II e III descrevem, respectivamente, os modificadores: