Pernyataan Properti
Menyatakan nama properti, dan prosedur properti yang digunakan untuk menyimpan dan mengambil nilai properti.
Sintaks
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
Generator
attributelist
Opsional. Daftar atribut yang berlaku untuk properti atau prosedur
Get
atauSet
. Lihat Daftar Atribut.Default
Opsional. Menentukan bahwa properti ini adalah properti default untuk kelas atau struktur tempat properti tersebut didefinisikan. Properti default harus menerima parameter dan dapat diatur dan diambil tanpa menentukan nama properti. Jika Anda menyatakan properti sebagai
Default
, Anda tidak dapat menggunakanPrivate
pada properti atau pada salah satu prosedur propertinya.accessmodifier
Opsional pada pernyataan
Property
dan paling banyak salah satu pernyataanGet
danSet
. Bisa jadi salah satu dari yang berikut:propertymodifiers
Opsional. Bisa jadi salah satu dari yang berikut:
MustOverride Overrides
NotOverridable Overrides
Shared
Opsional. Lihat Dibagikan.
Shadows
Opsional. Lihat Bayangan.
ReadOnly
Opsional. Lihat ReadOnly.
WriteOnly
Opsional. Lihat WriteOnly.
Iterator
Opsional. Lihat Iterator.
name
Harus diisi. Nama properti. Lihat Nama Elemen yang Dideklarasikan.
parameterlist
Opsional. Daftar nama variabel lokal yang mewakili parameter properti ini, dan kemungkinan parameter tambahan dari prosedur
Set
. Lihat Daftar parameter.returntype
Diperlukan jika
Option Strict
adalahOn
. Jenis data dari nilai yang dikembalikan oleh properti ini.Implements
Opsional. Menunjukkan bahwa properti ini mengimplementasikan satu atau beberapa properti, masing-masing didefinisikan dalam antarmuka yang diimplementasikan oleh kelas atau struktur yang berisi properti ini. Lihat Pernyataan Implements.
implementslist
Diperlukan jika
Implements
diberikan. Daftar properti yang sedang diimplementasikan.implementedproperty [ , implementedproperty ... ]
Setiap
implementedproperty
memiliki sintaks dan bagian berikut:interface.definedname
Bagian Deskripsi interface
Harus diisi. Nama antarmuka yang diimplementasikan oleh kelas atau struktur yang berisi properti ini. definedname
Harus diisi. Nama tempat properti didefinisikan dalam interface
.Get
Opsional. Diperlukan jika properti ditandai
ReadOnly
. Memulai prosedur propertiGet
yang digunakan untuk mengembalikan nilai properti. PernyataanGet
ini tidak digunakan dengan properti yang diimplementasikan secara otomatis.statements
Opsional. Blok pernyataan untuk dijalankan dalam prosedur
Get
atauSet
.End Get
Mengakhiri prosedur properti
Get
.Set
Opsional. Diperlukan jika properti ditandai
WriteOnly
. Memulai prosedur propertiSet
yang digunakan untuk menyimpan nilai properti. PernyataanSet
ini tidak digunakan dengan properti yang diimplementasikan secara otomatis.End Set
Mengakhiri prosedur properti
Set
.End Property
Mengakhiri definisi properti ini.
Keterangan
Pernyataan ini Property
memperkenalkan deklarasi properti. Properti dapat memiliki prosedur Get
(baca saja), prosedur Set
(tulis saja), atau keduanya (baca-tulis). Anda dapat menghilangkan Get
prosedur dan Set
saat menggunakan properti yang diimplementasikan secara otomatis. Untuk informasi selengkapnya, lihat Properti yang diterapkan secara otomatis.
Anda dapat menggunakan Property
hanya di tingkat kelas. Ini berarti konteks deklarasi untuk properti harus berupa kelas, struktur, modul, atau antarmuka, dan tidak boleh berupa file sumber, namespace, prosedur, atau blok. Untuk informasi selengkapnya, lihat Konteks Deklarasi dan Tingkat Akses Default.
Secara default, properti menggunakan akses publik. Anda dapat menyesuaikan tingkat akses properti dengan pengubah akses pada pernyataan Property
, dan Anda dapat secara opsional menyesuaikan salah satu prosedur propertinya ke tingkat akses yang lebih ketat.
Visual Basic meneruskan parameter ke prosedur Set
selama penetapan properti. Jika Anda tidak menyediakan parameter untuk Set
, lingkungan pengembangan terpadu (IDE) menggunakan parameter implisit bernama value
. Parameter ini menyimpan nilai yang akan ditetapkan ke properti. Anda biasanya menyimpan nilai ini dalam variabel lokal privat dan mengembalikannya setiap kali prosedur Get
dipanggil.
Aturan
Tingkat Akses Campuran. Jika Anda menentukan properti baca-tulis, Anda dapat secara opsional menentukan tingkat akses yang berbeda untuk
Get
atau prosedurSet
, tetapi tidak keduanya. Jika Anda melakukan ini, tingkat akses prosedur harus lebih ketat dibandingkan tingkat akses properti. Misalnya, jika properti dinyatakanFriend
, Anda dapat mendeklarasikanSet
prosedurPrivate
, tetapi tidakPublic
.Jika Anda menentukan properti
ReadOnly
atauWriteOnly
, prosedur properti tunggal (Get
atauSet
, masing-masing) mewakili semua properti. Anda tidak dapat mendeklarasikan tingkat akses yang berbeda untuk prosedur seperti itu, karena itu akan menetapkan dua tingkat akses untuk properti.Jenis Pengembalian. Pernyataan
Property
dapat mendeklarasikan jenis data dari nilai yang mengembalikannya. Anda dapat menentukan jenis data apa pun atau nama enumerasi, struktur, kelas, atau antarmuka.Jika Anda tidak menentukan
returntype
, properti akan mengembalikanObject
.Implementasi. Jika prosedur ini menggunakan kata kunci
Implements
, kelas atau struktur yang memuat juga harus memiliki pernyataanImplements
yang segera mengikuti pernyataanClass
atauStructure
. PernyataanImplements
harus menyertakan setiap antarmuka yang ditentukan dalamimplementslist
. Namun, nama tempat antarmuka mendefinisikanProperty
(dalamdefinedname
) tidak harus sama dengan nama properti ini (dalamname
).
Perilaku
Kembali dari Prosedur Properti. Ketika prosedur
Get
atauSet
kembali ke kode panggilan, eksekusi berlanjut dengan pernyataan mengikuti pernyataan yang memanggilnya.Pernyataan
Exit Property
danReturn
akan memicu segera keluar dari prosedur properti. Sejumlah pernyataanExit Property
danReturn
dapat muncul di mana saja dalam prosedur, dan Anda dapat mencampur pernyataanExit Property
danReturn
.Nilai Pengembalian. Untuk mengembalikan nilai dari prosedur
Get
, Anda dapat menetapkan nilai ke nama properti atau menyertakannya dalam pernyataanReturn
. Contoh berikut menetapkan nilai pengembalian ke nama fungsiquoteForTheDay
, lalu menggunakan pernyataanExit Property
untuk kembali.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
Jika Anda menggunakan
Exit Property
tanpa menetapkan nilai kename
, prosedurGet
mengembalikan nilai default untuk jenis data properti.Pernyataan
Return
secara bersamaan menetapkan nilai pengembalian prosedurGet
dan keluar dari prosedur. Contoh berikut ini menunjukkan ini.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
Contoh
Contoh berikut mendeklarasikan properti di kelas.
Class Class1
' Define a local variable to store the property value.
Private propertyValue As String
' Define the property.
Public Property Prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return propertyValue
End Get
Set(ByVal value As String)
' The Set property procedure is called when the value
' of a property is modified. The value to be assigned
' is passed in the argument to Set.
propertyValue = value
End Set
End Property
End Class