Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 21086|Jawab: 0

[Sumber] InternalsVisibleToAttribute mengekspos anggota internal ke rakitan teman yang ditentukan

[Salin tautan]
Diposting pada 06/02/2017 14.27.59 | | |
Pengantar Majelis Youyuan
Kita tahu bahwa anggota kelas yang didefinisikan sebagai internal (termasuk jenis, metode, properti, variabel, peristiwa) hanya dapat diakses dalam rakitan yang sama (tentu saja, saya berbicara tentang cara normal di sini, tidak termasuk akses melalui refleksi). Aturan ini ada di . .NET 2.0 sedikit rusak, memungkinkan kami mengatur anggota internal rakitan untuk diakses oleh anggota tertentu. Kita menyebut rakitan yang berisi anggota internal ini sebagai rakitan sumber, dan kumpulan perakitan disebut rakitan teman.

Penggunaan perakitan teman
Atribut ini digunakan di tingkat perakitan.


Dengan cara ini, setelah program FriendAssembly mereferensikan rakitan, ia dapat mengakses properti Name internal.
Secara umum, rakitan ini:InternalsVisibleTo("FriendAssembly") lebih baik ditempatkan di AssemblyInfo.cs, bagaimanapun juga, itu berada di tingkat perakitan.

Kapan menggunakan InternalsToVisibleTo
Faktanya, atribut ini tidak digunakan dalam aplikasi umum, dan kita tidak boleh menyalahgunakan atribut ini. Karena pada umumnya, rakitan yang dirancang dengan baik tidak perlu terbuka terhadap dunia luar.
Tetapi skenario pengujian unit dapat memanfaatkan fitur ini. Dengan fitur ini, kita dapat menentukan bahwa kode untuk pengujian unit memiliki akses ke anggota internal tersebut sehingga kita dapat menguji anggota tersebut. Namun, ini memerlukan penulisan nama rakitan teman mati di rakitan sumber, yang menyebabkan beberapa masalah keamanan. Keamanan dapat dijamin dengan memperkenalkan rakitan tanda tangan.

InternalsToVisibleTo dan rakitan tanda tangan
Anda dapat langsung menentukan nama dan kunci publik rakitan meta teman ke InternalsVisibleTo.
Gunakan baris perintah pengembang VS untuk menghasilkan kunci publik untuk FriendAssembly:


Tentukan nama rakitan teman dan kunci publik ke rakitan sumber:


Faktanya, karena rakitan teman mereferensikan rakitan sumber, dan rakitan yang ditandatangani mereferensikan rakitan yang tidak ditandatangani, dan rakitan yang ditandatangani tidak dapat menentukan rakitan teman yang tidak ditandatangani, salah satu dari mereka ditandatangani, maka mereka perlu ditandatangani.





Mantan:Secara otomatis melompat ke halaman transfer pembayaran Tenpay dan mengisi informasi secara otomatis
Depan:Gunakan InternalsVisibleTo untuk menambahkan "rakitan teman" ke rakitan
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com