Teman (Visual Basic)
Menentukan bahwa satu atau lebih elemen pemrograman yang dideklarasikan hanya dapat diakses dari dalam rakitan yang berisi deklarasinya.
Keterangan
Dalam banyak kasus, Anda ingin elemen pemrograman seperti kelas dan struktur digunakan oleh seluruh perakitan, tidak hanya oleh komponen yang mendeklarasikannya. Namun, Anda mungkin tidak ingin mereka dapat diakses oleh kode di luar rakitan (misalnya, jika aplikasi tersebut adalah hak milik). Jika Anda ingin membatasi akses ke elemen dengan cara ini, Anda dapat mendeklarasikannya dengan menggunakan pengubah Friend
.
Kode di kelas, struktur, dan modul lain yang dikompilasi ke rakitan ang sama dapat mengakses semua elemen dalam perakitan tersebut Friend
.
Akses Friend
sering kali merupakan tingkat yang disukai untuk elemen pemrograman aplikasi, dan Friend
merupakan tingkat akses default antarmuka, modul, kelas, atau struktur.
Anda hanya dapat menggunakan Friend
di tingkat modul, antarmuka, atau namespace. Oleh karena itu, konteks deklarasi untuk elemen Friend
harus berupa file sumber, namespace layanan, antarmuka, modul, kelas atau struktur; tidak bisa berupa prosedur.
Catatan
Anda juga dapat menggunakan pengubah akses Teman Terproteksi, yang membuat anggota kelas dapat diakses dari dalam kelas tersebut, dari kelas turunan, dan dari rakitan yang sama tempat kelas ditentukan. Untuk membatasi akses ke anggota dari dalam kelasnya dan dari kelas turunan dalam rakitan yang sama, Anda menggunakan pengubah akses Terproteksi Privat.
Untuk perbandingan Friend
dan pengubah akses lain, lihat Tingkat akses di Visual Basic.
Catatan
Anda dapat menentukan bahwa rakitan lain adalah perakitan teman, yang memungkinkannya untuk mengakses semua jenis dan anggota yang ditandai sebagai Friend
. Untuk informasi selengkapnya, lihat Rakitan Teman.
Contoh
Kelas berikut menggunakan pengubah Friend
untuk memungkinkan elemen pemrograman lain dalam rakitan yang sama untuk mengakses anggota tertentu.
Class CustomerInfo
Private p_CustomerID As Integer
Public ReadOnly Property CustomerID() As Integer
Get
Return p_CustomerID
End Get
End Property
' Allow friend access to the empty constructor.
Friend Sub New()
End Sub
' Require that a customer identifier be specified for the public constructor.
Public Sub New(ByVal customerID As Integer)
p_CustomerID = customerID
End Sub
' Allow friend programming elements to set the customer identifier.
Friend Sub SetCustomerID(ByVal customerID As Integer)
p_CustomerID = customerID
End Sub
End Class
Penggunaan
Anda dapat menggunakan pengubah Friend
dalam konteks ini:
Pernyataan Delegate (Delegasi)