Vnorený typ

Autor: Lewis Jackson
Dátum Stvorenia: 8 Smieť 2021
Dátum Aktualizácie: 15 Smieť 2024
Anonim
Vnorený typ - Technológie
Vnorený typ - Technológie

Obsah

Definícia - Čo znamená vnorený typ?

Vnorený typ v C # je typ deklarovaný v rámci existujúcej triedy alebo štruktúry. Na rozdiel od nevnoreného typu, ktorý je deklarovaný priamo v kompilačnej jednotke alebo v mennom priestore, je vnorený typ definovaný v rámci rozsahu obsahujúceho (alebo vonkajšieho) typu.

Vnorený typ sa používa iba vtedy, ak jeho rozsah, viditeľnosť a životnosť končí v rámci obsiahnutého typu bez toho, aby sa vystavil iným typom. Člen enumerátora v rámci typu kolekcie sa zvyčajne implementuje ako vnorený typ na iteráciu cez kolekciu. Ako iterátor enumerátor umožňuje použitie rovnakej logiky na strane klienta na opakovanie kolekcie bez ohľadu na základnú štruktúru kolekcií údajov.

Vnorený typ sa všeobecne používa iba v situáciách, keď logicky patrí k typu, ktorý obsahuje. Implementuje sa, keď typ obsahujúci úplne závisí od vnoreného typu, ktorý pomáha zapuzdriť implementačné podrobnosti tohto typu. Často sa používa v scenároch, v ktorých sa obsah obsahujúci typ, ktorý má vnorený typ, priamo použije bez potreby okamžitého vytvorenia jeho vnoreného typu.


Úvod do programu Microsoft Azure a Microsoft Cloud V tejto príručke sa dozviete, o čom všetko je cloud computing a ako vám môže Microsoft Azure pomôcť migrovať a podnikať z cloudu.

Techopedia vysvetľuje vnorený typ

K vnorenému typu je možné pristupovať odkiaľkoľvek v rámci programu jeho vyhlásením za verejnú úroveň prístupnosti a pomocou jeho plne kvalifikovaného názvu.

Napríklad AddressInformation môže byť vnorený typ deklarovaný v rámci typu Zamestnanec a je k nemu možné získať prístup pomocou jeho plne kvalifikovaného názvu, Employee.AddressInformation.

Vnorený typ má nasledujúce kľúčové vlastnosti:

  • Môže mať rôzne formy prístupnosti, ktoré zahŕňajú súkromné, verejné, chránené, chránené interné a interné. V predvolenom nastavení má súkromný prístup.
  • Má prístup k súkromným a chráneným členom typu, ktorý obsahuje, vrátane všetkých zdedených súkromných a chránených členov. Na prístup k týmto členom musí byť inštancia obsahujúceho typu odovzdaná do vnoreného typu prostredníctvom svojho konštruktora.
  • Umožňuje viac úrovní vnorenia, čo umožňuje definovať kódový blok jednej vnorenej triedy v rámci inej.
  • Môže zdediť od typu, ktorý obsahuje, a môže sa zdediť.
  • Súkromní členovia vnoreného typu sú neviditeľní pre obsahujúci typ.


Vnorený typ by sa nemal používať, ak musí byť verejne exponovaný na účely okamžitého kódu klienta alebo ak sa naň priamo odkazuje v kóde klienta. Nemôže sa použiť namiesto priestoru názvov pre konštrukty logického zoskupovania.