Types imbriqués (guide de programmation C#)
Un type déclaré dans une classe ou un struct est appelé type imbriqué.Par exemple :
class Container
{
class Nested
{
Nested() { }
}
}
Que le type externe est une classe ou un struct, les types imbriqués ont comme valeur par défaut à privé, mais peuvent être effectuées sur public, en interne protégé, à protégé, à interne, ou à privé.Dans l'exemple précédent, Nested est inaccessible aux types externes, mais peut être rendu public comme suit :
class Container
{
public class Nested
{
Nested() { }
}
}
Le type imbriqué, ou interne, peut accéder au type conteneur, ou externe.Pour accéder au type conteneur, passez-le comme constructeur au type imbriqué.Par exemple :
public class Container
{
public class Nested
{
private Container parent;
public Nested()
{
}
public Nested(Container parent)
{
this.parent = parent;
}
}
}
Les types imbriqués peuvent accéder à des membres privés et protégés du type conteneur, y compris à tous les membres protégés ou privés hérités.
Dans la déclaration antérieure, le nom complet de classe Nested est Container.Nested.Il s'agit du nom utilisé pour créer une nouvelle instance de la classe imbriquée, comme suit :
Container.Nested nest = new Container.Nested();
Voir aussi
Référence
Classes et structs (Guide de programmation C#)
Modificateurs d'accès (Guide de programmation C#)
Constructeurs (guide de programmation C#)