Oui, vous pouvez définir public
les membres de internal
/private
/types etc.
Comme d'autres réponses ont noté, le code externe ne sera pas être en mesure de voir les propriétés à moins qu'il puisse voir le type - mais il y a beaucoup de nuances:
- si le membre est sur une interface, il sera être (essentiellement) une partie de l'API publique
- le membre pourrait être un remplacement public d'un membre virtuel/abstrait - dans ce cas sera vraiment visible publiquement, mais via la classe de base (encore une fois, similaire aux interfaces
Mais il y a beaucoup d'autres codes dans le cadre qui utilise réflexion et exige l'accès du public:
- liaison de données fonctionne généralement sur les propriétés publiques
- contrôles de sécurité pour de confiance partielle peut être pointilleux sur publique membres
- sérialisation (par exemple
XmlSerializer
) peuvent souhaiter les membres du public
- etc
Alors Il y a encore beaucoup de raisons de penser à public
plutôt que seulement internal
, même si votre code est seulement référencé par l'assemblée locale.
Oui, nous pouvons le faire. Vous pouvez l'essayer vous-même. Je pense que tu veux demander ... pourquoi? Corrigez votre question dans ce cas. –