Estou tentando encontrar uma referência para a visibilidade padrão de vários aspectos do c #. Tipos de classe, campos, métodos, enumerações, etc.
Alguém pode fornecer uma lista desses, juntamente com sua visibilidade padrão (ou seja, nenhum modificador prefixado)?
Respostas:
Todas as informações que você procura podem ser encontradas aqui e aqui (obrigado Reed Copsey ):
Do primeiro link:
...
...
...
No segundo link:
E para tipos aninhados:
fonte
Public
.Enum
os membros também sãoPublic
. Provavelmente menos confuso usar apenas o escopo explícito no seu caso, já que as chances são altas, elas serão traduzidas ou lidas pelos desenvolvedores do c # em algum momento. Infelizmente, a geração de código no vb.net não faz isso por você.Do MSDN:
Os tipos de nível superior , que não estão aninhados em outros tipos, podem ter apenas
internal
oupublic
acessibilidade. A acessibilidade padrão para esses tipos éinternal
.Tipos aninhados , que são membros de outros tipos, podem ter acessibilidades declaradas, conforme indicado na tabela a seguir.
Fonte: Níveis de Acessibilidade (C # Referência) (6 de dezembro th , 2017)
fonte
Por padrão, o modificador de acesso para uma classe é
internal
. Isso significa dizer que uma classe é acessível dentro da mesma montagem. Mas se queremos que a classe seja acessada de outras assembléias, ela deve ser tornada pública.fonte
[assembly:InternalsVisibleTo("Friend1b")]
Por padrão é
private
. A menos que estejam aninhados, as classes sãointernal
.fonte
enum members are private by default, so to use them outside the enum we should declare them as public
. Você pode explicar por que o livro contradiz o que você diz? Obrigado.