J'essaie de trouver une référence pour la visibilité par défaut de divers aspects de C #. Types de classes, champs, méthodes, énumérations, etc.
Quelqu'un peut-il fournir une liste de ceux-ci avec leur visibilité par défaut (c'est-à-dire, aucun modificateur préfixé)?
Réponses:
Toutes les informations que vous recherchez se trouvent ici et ici (merci Reed Copsey ):
Dès le premier lien:
...
...
...
À partir du deuxième lien:
Et pour les types imbriqués:
la source
Public
.Enum
les membres le sont égalementPublic
. Il est probablement moins déroutant d'utiliser simplement une portée explicite dans votre cas car il y a de fortes chances qu'elle soit traduite ou lue par les développeurs c # à un moment donné. La génération de code dans vb.net ne le fait malheureusement pas pour vous.Depuis MSDN:
Types de haut niveau , qui ne sont pas imbriqués dans d' autres types, ne peuvent avoir
internal
ou l'public
accessibilité. L'accessibilité par défaut pour ces types estinternal
.Les types imbriqués , qui sont des membres d'autres types, peuvent avoir des accessibilités déclarées comme indiqué dans le tableau suivant.
Source: Les niveaux d' accessibilité (Référence C #) (6 Décembre th 2017)
la source
Par défaut, le modificateur d'accès pour une classe est
internal
. Cela signifie qu'une classe est accessible dans le même assembly. Mais si nous voulons que la classe soit accessible à partir d'autres assemblys, elle doit être rendue publique.la source
[assembly:InternalsVisibleTo("Friend1b")]
Par défaut, c'est
private
. À moins qu'elles ne soient imbriquées, les classes le sontinternal
.la source
enum members are private by default, so to use them outside the enum we should declare them as public
. Pouvez-vous expliquer pourquoi le livre est en contradiction avec ce que vous dites? Merci.