Table des matières:
Définition - Que signifie le type imbriqué?
Le type imbriqué, en C #, est un type déclaré dans une classe ou une structure existante. Contrairement à un type non imbriqué, qui est déclaré directement dans une unité de compilation ou un espace de noms, le type imbriqué est défini dans le cadre du type conteneur (ou externe).
Le type imbriqué est utilisé uniquement lorsque sa portée, sa visibilité et sa durée de vie se terminent dans le type conteneur sans s'exposer à d'autres types. Le membre énumérateur d'un type de collection est généralement implémenté en tant que type imbriqué pour itérer sur la collection. En tant qu'itérateur, l'énumérateur permet d'utiliser la même logique côté client pour itérer la collection, quelle que soit la structure sous-jacente de la collecte de données.
En général, le type imbriqué n'est utilisé que dans les situations où il appartient logiquement au type conteneur. Il est implémenté lorsque le type conteneur dépend entièrement du type imbriqué, ce qui aide à encapsuler les détails d'implémentation du type conteneur. Il est souvent utilisé dans des scénarios où le type conteneur qui a le type imbriqué pour son implémentation est directement utilisé sans aucune exigence pour instancier son type imbriqué.
Techopedia explique le type imbriqué
Un type imbriqué est accessible de n'importe où dans le programme en le déclarant avec un niveau d'accessibilité public et en utilisant son nom complet.
Par exemple, AddressInformation peut être un type imbriqué déclaré dans le type Employee et accessible à l'aide de son nom complet, Employee.AddressInformation.
Le type imbriqué a les propriétés de clé suivantes:
- Il peut avoir différentes formes d'accessibilité, notamment privées, publiques, protégées, protégées internes et internes. Par défaut, il a une accessibilité privée.
- Il peut accéder aux membres privés et protégés du type conteneur, y compris les membres privés et protégés hérités. Pour accéder à ces membres, une instance du type conteneur doit être transmise au type imbriqué via son constructeur.
- Il permet plusieurs niveaux d'imbrication, ce qui permet de définir le bloc de code d'une classe imbriquée dans une autre.
- Il peut hériter du type conteneur et peut également être hérité.
- Les membres privés du type imbriqué sont invisibles pour le type conteneur.
Le type imbriqué ne doit pas être utilisé lorsqu'il doit être exposé publiquement pour instanciation par le code client ou s'il est référencé directement dans le code client. Il ne peut pas être utilisé à la place de l'espace de noms pour les constructions de regroupement logique.