Compartilhar via


Tipos aninhados (guia de programação translation from VPE for Csharp)

Um tipo definido dentro de um classe or struct é chamado de um tipo aninhado.Por exemplo:

class Container
{
    class Nested
    {
        Nested() { }
    }
}

Independentemente de se os tipos externos é uma classe ou uma struct, padrão de tipos para aninhadosparticular, mas pode ser efetuada pública, protegido interno, protegido, interno, or particular.No exemplo anterior, Nested está inacessível para externos para os tipos, mas pode se tornar pública como este:

class Container
{
    public class Nested
    {
        Nested() { }
    }
}

O tipo aninhado ou interno pode acesso o tipo recipiente ou externo.Para acesso a que contém o tipo, passá-lo sistema autônomo um construtor para o tipo aninhado.Por exemplo:

public class Container
{
    public class Nested
    {
        private Container parent;

        public Nested()
        {
        }
        public Nested(Container parent)
        {
            this.parent = parent;
        }
    }
}

Tipos aninhados podem acessar membros protegidos e particulares do tipo recipiente, incluindo quaisquer membros herdados particulares ou protegidos.

Na declaração anterior, o nome completo da classe Nested é Container.Nested. Este é o nome usado para criar uma nova instância da classe aninhada, da seguinte maneira:

Container.Nested nest = new Container.Nested();

Consulte também

Conceitos

Guia de Programação C#

Referência

Classes e estruturas (guia de programação translation from VPE for Csharp)

Modificadores de acesso (guia de programação C#)

Construtores (Guia de programação do C#)