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.
Jika prosedur memiliki satu atau beberapa parameter Opsional , Anda tidak dapat menentukan versi kelebihan beban yang cocok dengan salah satu kelebihan beban implisitnya. Untuk informasi selengkapnya, lihat "Kelebihan Beban Implisit untuk Parameter Opsional" dalam Pertimbangan dalam Prosedur Kelebihan Beban.
Satu Parameter Opsional
Untuk membebani prosedur yang mengambil satu parameter opsional
Sub
Tulis pernyataan atauFunction
deklarasi yang menyertakan parameter opsional dalam daftar parameter. Jangan gunakanOptional
kata kunci dalam versi yang kelebihan beban ini.Pastikan kata kunci
Sub
atauFunction
didahului oleh kata kunci Overloads.Tulis kode prosedur yang harus dijalankan saat kode panggilan menyediakan argumen opsional.
Hentikan prosedur dengan pernyataan
End Sub
atauEnd Function
yang sesuai.Tulis pernyataan deklarasi kedua yang identik dengan deklarasi pertama kecuali bahwa pernyataan tersebut tidak menyertakan parameter opsional dalam daftar parameter.
Tulis kode prosedur yang harus dijalankan ketika kode panggilan tidak menyediakan argumen opsional. Hentikan prosedur dengan pernyataan
End Sub
atauEnd Function
yang sesuai.Contoh berikut menunjukkan prosedur yang ditentukan dengan parameter opsional, setara dengan dua prosedur yang kelebihan beban, dan akhirnya contoh versi kelebihan beban yang tidak valid dan valid.
Sub q(ByVal b As Byte, Optional ByVal j As Long = 6)
' The preceding definition is equivalent to the following two overloads. ' Overloads Sub q(ByVal b As Byte) ' Overloads Sub q(ByVal b As Byte, ByVal j As Long)
' Therefore, the following overload is not valid because the signature is already in use. ' Overloads Sub q(ByVal c As Byte, ByVal k As Long) ' The following overload uses a different signature and is valid. Overloads Sub q(ByVal b As Byte, ByVal j As Long, ByVal s As Single)
Beberapa Parameter Opsional
Untuk prosedur dengan lebih dari satu parameter opsional, Anda biasanya memerlukan lebih dari dua versi yang kelebihan beban. Misalnya, jika ada dua parameter opsional, dan kode panggilan dapat menyediakan atau menghilangkan masing-masing secara independen dari yang lain, Anda memerlukan empat versi yang kelebihan beban, satu untuk setiap kemungkinan kombinasi argumen yang disediakan.
Ketika jumlah parameter opsional meningkat, kompleksitas kelebihan beban meningkat. Kecuali beberapa kombinasi argumen yang disediakan tidak dapat diterima, untuk parameter opsional N, Anda memerlukan 2 ^ N versi yang kelebihan beban. Tergantung pada sifat prosedur, Anda mungkin menemukan bahwa kejelasan logika membenarkan upaya ekstra untuk menentukan semua versi yang kelebihan beban.
Untuk membebani prosedur yang membutuhkan lebih dari satu parameter opsional
Tentukan kombinasi argumen opsional yang disediakan yang dapat diterima oleh logika prosedur. Kombinasi yang tidak dapat diterima mungkin muncul jika satu parameter opsional tergantung pada parameter lain. Misalnya, jika satu parameter menerima nama seseorang dan parameter lain menerima usia orang tersebut, kombinasi argumen yang memasok usia tetapi menghilangkan nama tidak dapat diterima.
Untuk setiap kombinasi argumen opsional yang disediakan yang dapat diterima, tulis
Sub
pernyataan atauFunction
deklarasi yang menentukan daftar parameter yang sesuai. Jangan gunakanOptional
kata kunci.Dalam setiap deklarasi, awali
Sub
kata kunci atauFunction
dengan kata kunci Kelebihan Beban .Mengikuti setiap deklarasi, tulis kode prosedur yang harus dijalankan saat kode panggilan menyediakan daftar argumen yang sesuai dengan daftar parameter deklarasi tersebut.
Hentikan setiap prosedur dengan pernyataan
End Sub
atauEnd Function
yang sesuai.
Lihat juga
- Prosedur
- Parameter prosedur dan Argumen
- Parameter Opsional
- Array Parameter
- Kelebihan Muatan Prosedur
- Prosedur Pemecahan Masalah
- Cara: Menentukan Beberapa Versi Prosedur
- Cara: Memanggil Prosedur Kelebihan Beban
- Cara: Membebani Prosedur yang Mengambil Jumlah Parameter yang Tidak Terbatas
- Resolusi Kelebihan Beban