Bagikan melalui


Tingkat aksesibilitas (referensi C#)

Gunakan pengubah publicakses , , protected, internalatau private untuk menentukan salah satu tingkat aksesibilitas yang dinyatakan berikut untuk anggota.

  • public: Akses tidak dibatasi.
  • protected: Akses terbatas pada kelas yang memuat atau jenis yang diturunkan dari kelas yang memuatnya.
  • internal: Akses terbatas pada rakitan saat ini.
  • protected internal: Akses terbatas pada rakitan saat ini atau jenis yang diturunkan dari kelas yang memuatnya.
  • private: Akses terbatas pada jenis yang berisi.
  • private protected: Akses terbatas pada kelas atau jenis yang berisi yang berasal dari kelas yang berisi dalam rakitan saat ini.

Referensi bahasa C# mendokumentasikan versi bahasa C# yang paling baru dirilis. Ini juga berisi dokumentasi awal untuk fitur dalam pratinjau publik untuk rilis bahasa yang akan datang.

Dokumentasi mengidentifikasi fitur apa pun yang pertama kali diperkenalkan dalam tiga versi terakhir bahasa atau dalam pratinjau publik saat ini.

Petunjuk / Saran

Untuk menemukan kapan fitur pertama kali diperkenalkan di C#, lihat artikel tentang riwayat versi bahasa C#.

Tipe tingkat atas (tidak berlapis) dapat menggunakan pengubah file . Pengubah file membatasi akses ke kode dalam file sumber yang sama. Anda tidak dapat menggabungkan pengubah file dengan pengubah akses apa pun.

Gunakan hanya satu pengubah akses untuk anggota atau jenis, kecuali saat Anda menggunakan protected internal kombinasi atau private protected .

Jangan gunakan pengubah akses pada namespace layanan. Namespace layanan tidak memiliki batasan akses.

Tergantung pada konteks di mana deklarasi anggota terjadi, hanya aksesibilitas tertentu yang dinyatakan diizinkan. Jika Anda tidak menentukan pengubah akses dalam deklarasi anggota, aksesibilitas default akan digunakan.

Jenis tingkat atas, yang tidak bersarang di jenis lain, hanya dapat memiliki internal atau public mengakses. Aksesibilitas default untuk jenis ini adalah internal.

Jenis berlapis, yang merupakan anggota dari jenis lain, dapat mendeklarasikan aksesibilitas seperti yang ditunjukkan dalam tabel berikut.

Anggota dari Aksesibilitas anggota default Aksesibilitas anggota yang dinyatakan diizinkan
enum public Tidak ada
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

* Anggota interface dengan private aksesibilitas harus memiliki implementasi default.

Nota

Jika Anda memodifikasi kelas atau membuat struktur dengan record pengubah kata kunci, gunakan pengubah akses yang sama. Selain itu, dengan pengubah record , aksesibilitas anggota default masih private untuk kelas dan struktur.

Aksesibilitas jenis berlapis tergantung pada domain aksesibilitasnya, yang dinyatakan aksesibilitas anggota dan domain aksesibilitas dari jenis yang segera berisi. Namun, domain aksesibilitas dari jenis berlapis tidak boleh melebihi jenis yang berisi.

Spesifikasi Bahasa C#

Untuk informasi selengkapnya, lihat Spesifikasi Bahasa C#. Spesifikasi bahasa adalah sumber definitif untuk sintaks dan penggunaan C#.

Lihat juga