Vnořený typ

Autor: Lewis Jackson
Datum Vytvoření: 8 Smět 2021
Datum Aktualizace: 15 Smět 2024
Anonim
Vnořený typ - Technologie
Vnořený typ - Technologie

Obsah

Definice - Co znamená vnořený typ?

Vnořený typ v C # je typ deklarovaný v rámci existující třídy nebo struktury. Na rozdíl od nevnořeného typu, který je deklarován přímo v kompilační jednotce nebo jmenném prostoru, je vnořený typ definován v rámci rozsahu obsahujícího (nebo vnějšího) typu.

Vnořený typ se používá pouze tam, kde jeho rozsah, viditelnost a životnost končí v rámci obsaženého typu, aniž by se vystavil jiným typům. Člen enumerátoru v rámci typu kolekce je obvykle implementován jako vnořený typ pro iteraci nad kolekcí. Jako iterátor umožňuje enumerátor použití stejné logiky na straně klienta k iteraci kolekce, bez ohledu na základní strukturu sběru dat.

Obecně se vnořený typ používá pouze v situacích, kdy logicky patří k typu obsahujícímu. Je implementováno, když typ obsahující je zcela závislý na vnořeném typu, který pomáhá zapouzdřit implementační podrobnosti tohoto typu. Často se používá ve scénářích, kde se typ obsahující typ, který má pro implementaci vnořený typ, přímo používá bez požadavku na instanci jeho vnořeného typu.


Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje vnořený typ

K vnořenému typu lze přistupovat odkudkoli v rámci programu jeho prohlášením za veřejnou úroveň přístupnosti a pomocí jeho plně kvalifikovaného názvu.

Například AddressInformation může být vnořený typ deklarovaný v rámci typu Zaměstnanec a lze k němu přistupovat pomocí plně kvalifikovaného názvu Employee.AddressInformation.

Vnořený typ má následující klíčové vlastnosti:

  • Může mít různé formy přístupnosti, které zahrnují soukromé, veřejné, chráněné, chráněné interní a interní. Ve výchozím nastavení má soukromou přístupnost.
  • Může přistupovat k soukromým a chráněným členům obsahujícího typ, včetně všech zděděných soukromých a chráněných členů. Pro přístup k těmto členům musí být instance obsahující typ předána do vnořeného typu prostřednictvím svého konstruktoru.
  • Umožňuje více úrovní vnoření, což umožňuje definovat kódový blok jedné vnořené třídy v jiné.
  • Může zdědit od typu obsahujícího a může být také zděděn.
  • Soukromí členové vnořeného typu nejsou pro typ obsahující neviditelní.


Vnořený typ by neměl být použit, pokud musí být veřejně vystaven pro instanci klientským kódem nebo pokud je na něj přímo odkazován v klientském kódu. Nelze jej použít namísto oboru názvů pro konstrukty logického seskupování.