Jawaban:
internal untuk ruang lingkup perakitan (yaitu hanya dapat diakses dari kode dalam .exe atau .dll yang sama)
privat untuk ruang lingkup kelas (yaitu hanya dapat diakses dari kode di kelas yang sama).
Temukan penjelasan di bawah ini. Anda dapat memeriksa tautan ini untuk detail lebih lanjut - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
Pribadi: - Anggota pribadi hanya dapat diakses dalam tipe sendiri (Kelas sendiri).
Internal: - Anggota internal hanya dapat diakses dalam perakitan dengan warisan (jenis turunannya) atau dengan instance kelas.
Referensi:
Protected Internal
menyediakan akses lebih luas daripada Protected
.
protected internal
sebagai protected OR internal
.
With Type
artinya
AND
matriks itu menjadi true | false | false | false for protected internal
. tidak intuitif. sebaliknya itu benar | benar | benar | salah seolah-olah OR'd
.
private protected
tidak terlalu intuitif. Untuk detail: docs.microsoft.com/en-us/dotnet/csharp/language-reference/…
internal
anggota terlihat oleh semua kode dalam majelis yang dideklarasikan.
(Dan untuk majelis lain yang dirujuk menggunakan [InternalsVisibleTo]
atribut )
private
anggota hanya dapat dilihat oleh kelas yang mendeklarasikan. (termasuk kelas bersarang)
Kelas luar (tidak bersarang) tidak dapat dideklarasikan private
, karena tidak ada ruang lingkup untuk menjadikannya pribadi.
Untuk menjawab pertanyaan yang Anda lupa tanyakan, protected
anggota seperti private
anggota, tetapi juga terlihat di semua kelas yang mewarisi tipe pernyataan. (Tetapi hanya pada ekspresi setidaknya jenis kelas saat ini)
privat - enkapsulasi dalam kelas / ruang lingkup / struct ect '.
internal - enkapsulasi dalam majelis.
Anggota pribadi hanya dapat diakses di dalam tubuh kelas atau struct di mana mereka dideklarasikan.
Jenis atau anggota internal hanya dapat diakses di dalam file dalam rakitan yang sama
Internal akan memungkinkan Anda untuk merujuk, misalnya, kelas statis Akses Data (untuk keselamatan thread) antara beberapa kelas logika bisnis, sementara tidak berlangganan mereka untuk mewarisi kelas / tersandung satu sama lain dalam kumpulan koneksi, dan untuk akhirnya menghindari mengizinkan kelas DAL untuk mempromosikan akses di tingkat publik. Ini memiliki dukungan yang tak terhitung jumlahnya dalam desain dan praktik terbaik.
Entity Framework memanfaatkan jenis akses ini dengan baik
anggota internal dapat diakses dalam majelis (hanya dapat diakses dalam proyek yang sama)
anggota pribadi dapat diakses dalam kelas yang sama
Ada 2 proyek dalam solusi (Project1, Project2) dan Project1 memiliki referensi ke Project2.