Cuprins:
Definiție - Ce înseamnă tipul cuibărit?
Tipul cuibărit, în C #, este un tip declarat în cadrul unei clase sau structuri existente. Spre deosebire de un tip care nu este cuibărit, care este declarat direct în cadrul unei unități de compilare sau a unui spațiu de nume, tipul cuibărit este definit în domeniul de aplicare al tipului care conține (sau exterior).
Tipul cuibărit este utilizat numai acolo unde sfera sa, vizibilitatea și durata de viață se încheie în tipul conținut fără a se expune la alte tipuri. Membrul enumerator dintr-un tip de colecție este de obicei implementat ca tip imbricat pentru a repeta colecția. Ca iterator, enumeratorul permite utilizarea aceleiași logici din partea clientului pentru a itera colecția, indiferent de structura de bază a colecției de date.
În general, tipul cuibărit este utilizat numai în situațiile în care, în mod logic, aparține tipului care conține. Se implementează atunci când tipul care conține depinde în întregime de tipul cuibărit care ajută la încapsularea detaliilor de implementare a tipului conținând. Este adesea utilizat în scenarii în care tipul conținător care are tipul cuibărit pentru implementarea sa este utilizat direct, fără a fi necesară instantaneizarea tipului său cuibărit.
Techopedia explică tipul cuibărit
Un tip cuibărit poate fi accesat de oriunde din program, declarându-l cu un nivel public de accesibilitate și folosind numele său complet calificat.
De exemplu, AddressInformation poate fi un tip cuibărit declarat în tipul de angajat și poate fi accesat folosind numele său complet calificat, Employee.AddressInformation.
Tipul cuibărit are următoarele proprietăți cheie:
- Poate avea diferite forme de accesibilitate care includ privat, public, protejat, protejat intern și intern. În mod implicit, are accesibilitate privată.
- Poate accesa membrii privați și protejați de tipul conținând, inclusiv orice membru privat și protejat moștenit. Pentru a accesa acești membri, o instanță a tipului conținător trebuie trecută la tipul cuibărit prin intermediul constructorului său.
- Permite mai multe niveluri de cuibărire, ceea ce permite definirea blocului de cod al unei clase imbricate în cadrul alteia.
- Poate moșteni de la tipul care conține și poate fi moștenit.
- Membrii privați de tipul cuibărit sunt invizibili pentru tipul conținut.
Tipul cuibărit nu trebuie utilizat atunci când trebuie să fie expus public pentru instantaneitate prin codul client sau dacă este trimis direct în codul clientului. Nu poate fi utilizat în locul spațiului de nume pentru constructe de grupare logică.
