Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah C# Mencapai Fungsi Serupa dengan Kata Kunci 'Rakan' C untuk Akses Terkawal kepada Ahli Persendirian?

Bagaimanakah C# Mencapai Fungsi Serupa dengan Kata Kunci 'Rakan' C untuk Akses Terkawal kepada Ahli Persendirian?

Susan Sarandon
Lepaskan: 2024-12-28 18:46:10
asal
935 orang telah melayarinya

How Does C# Achieve Functionality Similar to C  's

Kata Kunci Rakan dalam C#

Dalam pengaturcaraan berorientasikan objek, kata kunci "rakan" menyediakan akses terkawal kepada ahli kelas persendirian ke kelas tertentu. Walaupun C menawarkan kata kunci "rakan", C# tidak mempunyai persamaan langsung untuk ciri ini.

Alternatif: InternalsVisibleTo

C# menggunakan atribut InternalsVisibleTo untuk mencapai akses terhad kepada peribadi ahli, terutamanya untuk tujuan ujian. Atribut ini menetapkan himpunan atau ruang nama sebagai dipercayai, membenarkan mereka mengakses ahli dalaman yang sebaliknya tersembunyi daripada kod luaran.

Contoh

Pertimbangkan contoh berikut dalam AssemblyInfo.cs :

[assembly: InternalsVisibleTo("OtherAssembly")]
Salin selepas log masuk

Atribut ini menjadikan pemasangan boleh diakses oleh "OtherAssembly." Sebarang kaedah atau sifat yang ditandakan sebagai dalaman dalam perhimpunan kini boleh diakses daripada "OtherAssembly."

Penggunaan dalam Pengujian

Atribut InternalsVisibleTo terbukti amat berguna dalam ujian unit senario. Dengan menandakan perhimpunan sebagai InternalsVisibleTo kepada perhimpunan ujian, ahli persendirian boleh diakses untuk tujuan ujian sambil kekal tersembunyi daripada kod luaran yang lain.

Pertimbangan

Manakala InternalsVisibleTo menyediakan mekanisme untuk akses terkawal, ia berbeza daripada kata kunci "rakan" C dalam beberapa cara:

  • Ia memerlukan pengisytiharan eksplisit dalam AssemblyInfo.cs.
  • Ia terpakai kepada perhimpunan dan bukannya kelas individu.
  • Ia tidak membolehkan akses kepada semua ahli persendirian ; ia hanya memberikan akses kepada ahli dalaman.

Atas ialah kandungan terperinci Bagaimanakah C# Mencapai Fungsi Serupa dengan Kata Kunci 'Rakan' C untuk Akses Terkawal kepada Ahli Persendirian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan