Estoy tratando de encontrar una referencia para la visibilidad predeterminada de varios aspectos de C #. Tipos de clase, campos, métodos, enumeraciones, etc.
¿Puede alguien proporcionar una lista de estos junto con su visibilidad predeterminada (es decir, sin modificador prefijado)?

Respuestas:
Toda la información que está buscando se puede encontrar aquí y aquí (gracias Reed Copsey ):
Desde el primer enlace:
...
...
...
Desde el segundo enlace:
Y para los tipos anidados:
fuente
Public.Enumlos miembros también lo sonPublic. Probablemente sea menos confuso usar solo un alcance explícito en su caso, ya que hay muchas posibilidades de que los desarrolladores de c # lo traduzcan o lean en algún momento. La generación de código en vb.net no hace esto por usted, desafortunadamente.De MSDN:
Tipos de alto nivel , que no están anidados en otros tipos, sólo pueden tener
internalopublicaccesibilidad. La accesibilidad predeterminada para estos tipos esinternal.Los tipos anidados , que son miembros de otros tipos, pueden tener accesibilidad declarada como se indica en la siguiente tabla.
Fuente: Niveles de accesibilidad (Referencia de C #) (Diciembre 6 º , 2017)
fuente
Por defecto, el modificador de acceso para una clase es
internal. Eso significa que se puede acceder a una clase dentro del mismo ensamblado. Pero si queremos que se acceda a la clase desde otros ensamblados, entonces debe hacerse pública.fuente
[assembly:InternalsVisibleTo("Friend1b")]Por defecto es
private. A menos que estén anidados, las clases lo estáninternal.fuente
enum members are private by default, so to use them outside the enum we should declare them as public. ¿Puedes explicar por qué el libro contradice lo que dices? Gracias.