Daftar Isi:
Definisi - Apa yang dimaksud dengan Majelis Teman?
Rakitan teman, dalam C #, merujuk pada rakitan .NET yang dapat mengakses anggota rakitan lain. Anggota dalam sebuah majelis yang diakses dari majelis teman harus ditandai sebagai
intern.
Majelis teman digunakan dalam skenario di mana ada kebutuhan untuk mengakses kelas internal dan anggota dalam satu majelis dari majelis khusus lainnya. Ini memungkinkan dua majelis khusus untuk berbagi anggota atau fungsionalitas tanpa membuatnya publik.
Teman majelis juga digunakan dalam pengujian unit di mana majelis yang mendasari kode tes perlu mengakses anggota yang ditandai sebagai internal dalam majelis yang akan diuji. Ini berguna dalam pengembangan perpustakaan kelas yang membutuhkan tambahan yang terkandung dalam majelis terpisah yang perlu mengakses anggota dalam majelis yang ada.
Techopedia menjelaskan Sidang Teman
Dengan menandai anggota kelas sebagai internal, mereka dapat dilihat oleh kelas lain dalam majelis yang sama tetapi bersifat pribadi untuk kelas yang berada di luar majelis. Untuk mengakses anggota internal dari rakitan teman, nama rakitan teman harus ditentukan dengan atribut, InternalsVisibleToAttribute dalam rakitan di mana anggota internal didefinisikan. Teman perakitan tidak dapat mengakses tipe pribadi dan anggota pribadi.
Misalnya, InternalsVisibleToAttribute di Majelis X dapat digunakan untuk menentukan Majelis Y sebagai teman perakitan, sehingga Majelis Y dapat mengakses semua jenis dan anggota Majelis X yang ditandai sebagai internal.
Berikut ini adalah pedoman yang terkait dengan pengembangan pertemuan teman:
- Saat menggunakan rakitan yang ditandatangani, alat, 'sn.exe' dapat digunakan untuk mendapatkan kunci publik yang harus diteruskan ke atribut yang menentukan rakitan teman
- Saat mengkompilasi rakitan teman yang mengakses anggota internal rakitan lain, opsi kompiler (/ keluar) harus ditetapkan dengan nama file output (.exe atau .dll)
- Adalah perlu untuk secara eksplisit menentukan setiap majelis yang perlu menjadi teman untuk majelis yang membutuhkan akses
- Disarankan untuk menggunakan majelis teman tanpa melanggar aturan enkapsulasi
