Zawartość
- Definicja - Co oznacza typ zagnieżdżony?
- Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.
- Techopedia wyjaśnia typ zagnieżdżony
Definicja - Co oznacza typ zagnieżdżony?
Typ zagnieżdżony w C # to typ zadeklarowany w ramach istniejącej klasy lub struktury. W przeciwieństwie do typu nie zagnieżdżonego, który jest zadeklarowany bezpośrednio w jednostce kompilacji lub w przestrzeni nazw, typ zagnieżdżony jest zdefiniowany w zakresie typu zawierającego (lub zewnętrznego).
Typ zagnieżdżony jest używany tylko wtedy, gdy jego zakres, widoczność i czas życia kończą się w typie zawierającym, bez narażania się na inne typy. Element wyliczający w ramach typu kolekcji jest zwykle implementowany jako typ zagnieżdżony w celu iteracji po kolekcji. Jako iterator moduł wyliczający umożliwia stosowanie tej samej logiki po stronie klienta do iteracji kolekcji, niezależnie od struktury kolekcji leżącej u podstaw.
Zasadniczo typ zagnieżdżony jest używany tylko w sytuacjach, w których logicznie należy do typu zawierającego. Jest on implementowany, gdy typ zawierający jest całkowicie zależny od typu zagnieżdżonego, co pomaga zawrzeć szczegóły implementacji typu zawierającego. Jest często używany w scenariuszach, w których typ zawierający, który ma typ zagnieżdżony do jego implementacji, jest używany bezpośrednio, bez żadnych wymagań dotyczących tworzenia jego typu zagnieżdżonego.
Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.
Techopedia wyjaśnia typ zagnieżdżony
Dostęp do typu zagnieżdżonego można uzyskać z dowolnego miejsca w programie, deklarując go jako publiczny poziom dostępności i używając jego w pełni kwalifikowanej nazwy.
Na przykład AddressInformation może być zagnieżdżonym typem zadeklarowanym w ramach typu Employee i można uzyskać do niego dostęp przy użyciu jego w pełni kwalifikowanej nazwy, Employee.AddressInformation.
Typ zagnieżdżony ma następujące kluczowe właściwości:
- Może mieć różne formy dostępności, w tym prywatne, publiczne, chronione, chronione wewnętrznie i wewnętrznie. Domyślnie ma on prywatną dostępność.
- Może uzyskiwać dostęp do prywatnych i chronionych członków typu zawierającego, w tym do dziedziczonych prywatnych i chronionych członków. Aby uzyskać dostęp do tych elementów, instancja typu zawierającego musi zostać przekazana do typu zagnieżdżonego przez jego konstruktor.
- Pozwala na wiele poziomów zagnieżdżania, co pozwala na zdefiniowanie bloku kodu jednej zagnieżdżonej klasy w innym.
- Może dziedziczyć po typie zawierającym, a także może być dziedziczony.
- Prywatni członkowie typu zagnieżdżonego są niewidoczni dla typu zawierającego.
Typu zagnieżdżonego nie należy używać, gdy musi być publicznie ujawniony w celu utworzenia instancji przez kod klienta lub jeśli występuje w nim odwołanie bezpośrednio w kodzie klienta. Nie można go używać zamiast przestrzeni nazw dla logicznych konstrukcji grupujących.