Table des matières:
Définition - Que signifie membre inaccessible?
Un membre inaccessible, dans le contexte de C #, est un membre qui n'est pas accessible par un type spécifique. Un membre inaccessible qui n'est pas accessible par un type peut être accessible par un autre type.
Un membre inaccessible peut obtenir le niveau d'accessibilité qui contrôle son utilisation à partir d'un autre code de l'assembly dans lequel il est déclaré ou d'autres assemblys.
Un membre d'un type est conçu pour être inaccessible à partir de certains types à des fins d'encapsulation. L'encapsulation des données permet de protéger les données de l'objet contre la corruption accidentelle et de masquer les détails d'implémentation inutiles à l'utilisateur de l'objet.
Techopedia explique un membre inaccessible
L'accessibilité d'un membre d'un type est déterminée par le type dans lequel il réside et le modificateur d'accès qui lui est spécifié lors de sa déclaration. Voici les modificateurs d'accès utilisés pour spécifier l'accessibilité:
- Public: accès à l'assembly actuel et à un assembly externe qui le référence.
- Privé: l'accès est limité au type conteneur.
- Protégé: l'accès est limité à la classe ou aux types conteneurs dérivés du type conteneur.
- Interne: l'accès est limité à l'assemblage actuel uniquement.
- Interne protégé: l'accès est limité à l'assembly actuel ou aux types dérivés de la classe contenante.
Par exemple, un type peut être déclaré avec une méthode qui a un modificateur protégé afin qu'il soit inaccessible en dehors de la classe mais accessible à ses classes dérivées.
Tous les modificateurs d'accès ne peuvent pas être utilisés dans tous les contextes par tous les types. Lorsqu'un membre d'un type n'inclut pas de modificateur d'accès lors de sa déclaration, son accessibilité par défaut est privée.
Conformément à la contrainte d'accessibilité en C #, plusieurs constructions nécessitent qu'un type soit au moins aussi accessible qu'un membre ou un autre type. En outre, si le membre est une méthode, un délégué ou un indexeur, le type de retour et les types de paramètres doivent être au moins aussi accessibles que le membre lui-même. L'utilisation d'un membre inaccessible entraînera une erreur de temps de compilation.