Isi kandungan:
Definisi - Apa maksud Nested Type?
Jenis nested, dalam C #, adalah jenis yang diisytiharkan dalam kelas atau struct yang sedia ada. Tidak seperti jenis tidak bersarang, yang dinyatakan secara langsung dalam unit penyusun atau ruang nama, jenis bersarang ditentukan dalam skop jenis yang mengandungi (atau luar).
Jenis bersarang hanya digunakan di mana skop, penglihatan dan hayatnya berakhir dalam jenis yang mengandungi tanpa mendedahkan dirinya kepada jenis lain. Ahli pencacah dalam jenis pengumpulan biasanya dilaksanakan sebagai jenis bersarang untuk melelehkan pengumpulan. Sebagai pemula, enumerator membolehkan penggunaan logik sisi klien yang sama untuk mengulang pengumpulan, tanpa mengira struktur asas pengumpulan data.
Secara umum, jenis bersarang digunakan hanya dalam keadaan di mana ia secara logiknya dimiliki oleh jenis yang mengandungi. Ia dilaksanakan apabila jenis yang mengandung sepenuhnya bergantung kepada jenis bersarang yang membantu untuk merangkum butiran pelaksanaan jenis yang mengandungi. Ia sering digunakan dalam senario di mana jenis yang mengandungi jenis bersarang untuk pelaksanaannya digunakan secara langsung tanpa sebarang syarat untuk menamakan jenis bersarangnya.
Techopedia menerangkan Jenis Nested
Jenis bersarang boleh diakses dari mana-mana sahaja dalam program dengan mengisytiharkannya dengan tahap akses awam dan menggunakan nama penuhnya.
Sebagai contoh, AddressInformation boleh menjadi jenis bersarang yang diisytiharkan dalam jenis Pekerja, dan boleh diakses menggunakan nama yang lengkap, Employee.AddressInformation.
Jenis bersarang mempunyai sifat utama yang berikut:
- Ia boleh mempunyai bentuk akses yang berbeza yang termasuk swasta, awam, dilindungi, dalaman dan dalaman yang dilindungi. Secara lalai, ia mempunyai aksesibiliti peribadi.
- Ia boleh mengakses ahli peribadi dan dilindungi jenis yang mengandungi, termasuk mana-mana ahli yang dilindungi dan dilindungi. Untuk mengakses ahli-ahli ini, satu contoh jenis yang mengandungi harus dihantar ke jenis bersarang melalui pembinanya.
- Ia membenarkan pelbagai peringkat bersarang, yang membolehkan blok kod satu kelas bersarang ditakrifkan di dalam yang lain.
- Ia boleh mewarisi dari jenis yang mengandungi dan juga boleh diwarisi.
- Ahli peribadi jenis bersarang tidak dapat dilihat dengan jenis yang mengandungi.
Jenis bersarang tidak boleh digunakan apabila ia harus didedahkan secara terbuka untuk instantiation oleh kod klien atau jika ia dirujuk secara langsung dalam kod klien. Ia tidak boleh digunakan di tempat namespace untuk pembinaan kumpulan logik.
