Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan parameter jenis untuk elemen pemrograman generik . Beberapa parameter dipisahkan oleh koma. Berikut ini adalah sintaks untuk parameter satu jenis.
Sintaksis
[genericmodifier] typename [ As constraintlist ]
Bagian
| Istilah | Definisi |
|---|---|
genericmodifier |
Fakultatif. Hanya dapat digunakan dalam antarmuka dan delegasi generik. Anda dapat mendeklarasikan jenis kovarian dengan menggunakan kata kunci Keluar atau kontravarian dengan menggunakan kata kunci Dalam . Lihat Kovariansi dan Kontravariansi. |
typename |
Dibutuhkan. Nama parameter jenis. Ini adalah tempat penampung, untuk digantikan oleh jenis yang ditentukan yang disediakan oleh argumen jenis yang sesuai. |
constraintlist |
Fakultatif. Daftar persyaratan yang membatasi jenis data yang dapat disediakan untuk typename. Jika Anda memiliki beberapa batasan, sertakan dalam kurung kurawal ({ }) dan pisahkan dengan koma. Anda harus memperkenalkan daftar batasan dengan kata kunci Sebagai . Anda hanya menggunakan As sekali, di awal daftar. |
Komentar
Setiap elemen pemrograman generik harus mengambil setidaknya satu parameter jenis. Parameter jenis adalah tempat penampung untuk jenis tertentu ( elemen yang dibangun) yang ditentukan kode klien saat membuat instans jenis generik. Anda dapat menentukan kelas, struktur, antarmuka, prosedur, atau delegasi generik.
Untuk informasi selengkapnya tentang kapan menentukan jenis generik, lihat Jenis Generik di Visual Basic. Untuk informasi selengkapnya tentang nama parameter jenis, lihat Nama Elemen yang Dinyatakan.
Aturan
Tanda kurung. Jika Anda menyediakan daftar parameter jenis, Anda harus mengapitnya dalam tanda kurung, dan Anda harus memperkenalkan daftar dengan kata kunci Of . Anda hanya menggunakan
Ofsekali, di awal daftar.Kendala. Daftar batasan pada parameter jenis dapat menyertakan item berikut dalam kombinasi apa pun:
Sejumlah antarmuka. Jenis yang disediakan harus mengimplementasikan setiap antarmuka dalam daftar ini.
Paling banyak satu kelas. Jenis yang disediakan harus diwarisi dari kelas tersebut.
Kata kunci
New. Jenis yang disediakan harus mengekspos konstruktor tanpa parameter yang dapat diakses oleh jenis generik Anda. Ini berguna jika Anda membatasi parameter jenis oleh satu atau beberapa antarmuka. Jenis yang mengimplementasikan antarmuka tidak selalu mengekspos konstruktor, dan tergantung pada tingkat akses konstruktor, kode dalam jenis generik mungkin tidak dapat mengaksesnya.ClassKata kunci atauStructurekata kunci. KataClasskunci membatasi parameter jenis generik untuk mengharuskan argumen jenis apa pun yang diteruskan ke dalamnya menjadi jenis referensi, misalnya string, array, atau delegasi, atau objek yang dibuat dari kelas. KataStructurekunci membatasi parameter jenis generik untuk mengharuskan argumen jenis apa pun yang diteruskan ke dalamnya menjadi jenis nilai, misalnya struktur, enumerasi, atau jenis data dasar. Anda tidak dapat menyertakan danClassStructuredalamconstraintlist.
Jenis yang disediakan harus memenuhi setiap persyaratan yang Anda sertakan dalam
constraintlist.Batasan pada setiap parameter jenis tidak bergantung pada batasan pada parameter jenis lain.
Perilaku
Compile-Time Substitusi. Saat Anda membuat jenis yang dibangun dari elemen pemrograman generik, Anda menyediakan jenis yang ditentukan untuk setiap parameter jenis. Pengkompilasi Visual Basic menggantikan jenis yang disediakan untuk setiap kemunculan
typenamedalam elemen generik.Tidak Adanya Kendala. Jika Anda tidak menentukan batasan apa pun pada parameter jenis, kode Anda dibatasi pada operasi dan anggota yang didukung oleh Jenis Data Objek untuk parameter jenis tersebut.
Contoh 1
Contoh berikut menunjukkan definisi kerangka kelas kamus generik, termasuk fungsi kerangka untuk menambahkan entri baru ke kamus.
Public Class dictionary(Of entryType, keyType As {IComparable, IFormattable, New})
Public Sub add(ByVal et As entryType, ByVal kt As keyType)
Dim dk As keyType
If kt.CompareTo(dk) = 0 Then
End If
End Sub
End Class
Contoh 2
Karena dictionary umum, kode yang menggunakannya dapat membuat berbagai objek darinya, masing-masing memiliki fungsionalitas yang sama tetapi bertindak pada jenis data yang berbeda. Contoh berikut menunjukkan baris kode yang membuat dictionary objek dengan String entri dan Integer kunci.
Dim dictInt As New dictionary(Of String, Integer)
Contoh 3
Contoh berikut menunjukkan definisi kerangka yang setara yang dihasilkan oleh contoh sebelumnya.
Public Class dictionary
Public Sub Add(ByVal et As String, ByVal kt As Integer)
Dim dk As Integer
If kt.CompareTo(dk) = 0 Then
End If
End Sub
End Class
Lihat juga
- Dari
- Operator Baru
- Tingkat akses di Visual Basic
- Tipe Data Objek
- Pernyataan Fungsi
- Pernyataan Struktur
- Sub Pernyataan
- Cara: Menggunakan Kelas Generik
- Kovariansi dan Kontravariansi
- Di
- Keluar