Tipo aninhado

Autor: Lewis Jackson
Data De Criação: 8 Poderia 2021
Data De Atualização: 15 Poderia 2024
Anonim
NOIS TÁ TIPO SURFISTA - SURFANDO NOS MANDELA - MC Menor MT (DJ TN Beat  e DJ Patrick Muniz)
Vídeo: NOIS TÁ TIPO SURFISTA - SURFANDO NOS MANDELA - MC Menor MT (DJ TN Beat e DJ Patrick Muniz)

Contente

Definição - O que significa Nested Type?

O tipo aninhado, em C #, é um tipo declarado em uma classe ou estrutura existente. Diferente de um tipo não aninhado, declarado diretamente em uma unidade de compilação ou em um espaço para nome, o tipo aninhado é definido no escopo do tipo que contém (ou externo).

O tipo aninhado é usado apenas quando seu escopo, visibilidade e vida útil terminam no tipo que contém, sem se expor a outros tipos. O membro do enumerador dentro de um tipo de coleção geralmente é implementado como tipo aninhado para iterar sobre a coleção. Como um iterador, o enumerador permite o uso da mesma lógica do lado do cliente para iterar a coleção, independentemente da estrutura subjacente da coleção de dados.

Em geral, o tipo aninhado é usado apenas em situações em que pertence logicamente ao tipo que o contém. É implementado quando o tipo de contenção é totalmente dependente do tipo aninhado que ajuda a encapsular os detalhes de implementação do tipo de contenção. É frequentemente usado em cenários em que o tipo que contém o tipo aninhado para sua implementação é usado diretamente, sem a necessidade de instanciar seu tipo aninhado.


Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.

Techopedia explica o tipo aninhado

Um tipo aninhado pode ser acessado de qualquer lugar do programa, declarando-o com um nível público de acessibilidade e usando seu nome completo.

Por exemplo, AddressInformation pode ser um tipo aninhado declarado no tipo Employee e pode ser acessado usando seu nome completo, Employee.AddressInformation.

O tipo aninhado possui as seguintes propriedades principais:

  • Pode ter diferentes formas de acessibilidade que incluem privada, pública, protegida, interna e interna protegida. Por padrão, ele tem acessibilidade privada.
  • Ele pode acessar membros privados e protegidos do tipo que os contém, incluindo quaisquer membros privados e protegidos herdados. Para acessar esses membros, uma instância do tipo que contém deve ser passada para o tipo aninhado por meio de seu construtor.
  • Ele permite vários níveis de aninhamento, o que permite que o bloco de código de uma classe aninhada seja definido dentro de outra.
  • Ele pode herdar do tipo que contém e também pode ser herdado.
  • Membros particulares do tipo aninhado são invisíveis para o tipo que contém.


O tipo aninhado não deve ser usado quando precisar ser exposto publicamente para instanciação pelo código do cliente ou se for referenciado diretamente no código do cliente. Ele não pode ser usado no lugar do namespace para construções de agrupamento lógico.