Kapslad typ

Författare: Lewis Jackson
Skapelsedatum: 8 Maj 2021
Uppdatera Datum: 15 Maj 2024
Anonim
Reusable Pods For Nespresso | Using WayCap Coffee Capsules
Video: Reusable Pods For Nespresso | Using WayCap Coffee Capsules

Innehåll

Definition - Vad betyder Nested Type?

Kapslad typ, i C #, är en typ som deklareras inom en befintlig klass eller struktur. Till skillnad från en icke-kapslad typ, som deklareras direkt inom en sammanställningsenhet eller ett namnutrymme, definieras kapslad typ inom ramen för den innehållande (eller yttre) typen.

Kapslad typ används endast när dess omfattning, synlighet och livslängd slutar inom den innehållande typen utan att utsätta sig för andra typer. Räknarmedlemmen inom en samlingstyp implementeras vanligtvis som kapslad typ för att iterera över samlingen. Som en iterator möjliggör uppräknaren att använda samma logik på klientsidan för att iterera samlingen, oavsett vilken datasamling som ligger bakom strukturen.

I allmänhet används kapslad typ endast i situationer där den logiskt hör till den innehållande typen. Den implementeras när den innehållande typen är helt beroende av den kapslade typen som hjälper till att kapsla in implementeringsdetaljerna för den innehållande typen. Det används ofta i scenarier där den innehållande typen som har den kapslade typen för dess implementering direkt används utan något krav för att anpassa den kapslade typen.


En introduktion till Microsoft Azure och Microsoft Cloud | I hela denna guide kommer du att lära dig vad cloud computing handlar om och hur Microsoft Azure kan hjälpa dig att migrera och driva ditt företag från molnet.

Techopedia förklarar Nested Type

En kapslad typ kan nås var som helst inom programmet genom att förklara den med en allmän nivå av tillgänglighet och använda dess fullt kvalificerade namn.

Adressinformation kan till exempel vara en kapslad typ som deklareras inom anställdstyp och kan nås med dess fullt kvalificerade namn, Employee.AddressInformation.

Kapslad typ har följande viktiga egenskaper:

  • Det kan ha olika former av tillgänglighet som inkluderar privata, offentliga, skyddade, skyddade interna och interna. Som standard har den privat tillgänglighet.
  • Den har åtkomst till privata och skyddade medlemmar av den innehållande typen, inklusive alla ärvda privata och skyddade medlemmar. För att få tillgång till dessa medlemmar måste en instans av den innehållande typen överföras till den kapslade typen genom sin konstruktor.
  • Det tillåter flera häckningsnivåer, vilket gör att kodblocket för en kapslad klass kan definieras inom en annan.
  • Den kan ärva från den innehållande typen och kan också ärvas.
  • Privata medlemmar av den kapslade typen är osynliga för den innehållande typen.


Kapslad typ ska inte användas när den måste exponeras offentligt för inställning med klientkoden eller om den hänvisas direkt till klientkoden. Det kan inte användas i stället för namnområdet för logiska grupperingskonstruktioner.