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 parameter ParamArray , Anda tidak dapat menentukan versi yang kelebihan beban mengambil array satu dimensi untuk array parameter. Untuk informasi selengkapnya, lihat "Kelebihan Beban Implisit untuk Parameter ParamArray" dalam Pertimbangan dalam Prosedur Kelebihan Muatan.
Untuk membebani prosedur yang mengambil jumlah variabel parameter
Pastikan bahwa prosedur dan logika kode panggilan mendapat manfaat dari versi yang kelebihan beban lebih dari
ParamArray
parameter. Lihat "Kelebihan Beban dan ParamArrays" dalam Pertimbangan dalam Prosedur Kelebihan Beban.Tentukan jumlah nilai yang disediakan yang harus diterima prosedur di bagian variabel dari daftar parameter. Ini mungkin termasuk kasus tanpa nilai, dan mungkin termasuk kasus satu array berdimensi satu.
Untuk setiap jumlah nilai yang disediakan yang dapat diterima, tulis
Sub
pernyataan atauFunction
deklarasi yang menentukan daftar parameter yang sesuai. Jangan gunakan kataOptional
kunci atauParamArray
dalam versi yang kelebihan beban ini.Dalam setiap deklarasi, awali
Sub
kata kunci atauFunction
dengan kata kunci Kelebihan Beban .Setelah setiap deklarasi, tulis kode prosedur yang harus dijalankan saat kode panggilan menyediakan nilai yang sesuai dengan daftar parameter deklarasi tersebut.
Hentikan setiap prosedur dengan pernyataan
End Sub
atauEnd Function
yang sesuai.
Contoh
Contoh berikut menunjukkan prosedur yang ditentukan dengan parameter ParamArray , lalu serangkaian prosedur kelebihan beban yang setara.
Sub p(ByVal d As Date, ByVal ParamArray c() As Char)
' The preceding definition is equivalent to the following overloads.
' Overloads Sub p(ByVal d As Date)
' Overloads Sub p(ByVal d As Date, ByVal c() As Char)
' Overloads Sub p(ByVal d As Date, ByVal c1 As Char)
' Overloads Sub p(ByVal d As Date, ByVal c1 As Char, ByVal c2 As Char)
' And so on, with an additional Char argument in each successive overload.
Anda tidak dapat membebani prosedur seperti itu dengan daftar parameter yang mengambil array satu dimensi untuk array parameter. Namun, Anda dapat menggunakan tanda tangan dari kelebihan beban implisit lainnya. Deklarasi berikut menggambarkan hal ini.
' The following overload is not valid because it takes an array for the parameter array.
' Overloads Sub p(ByVal x As Date, ByVal y() As Char)
' The following overload takes a single value for the parameter array and is valid.
Overloads Sub p(ByVal z As Date, ByVal w As Char)
Kode dalam versi yang kelebihan beban tidak harus menguji apakah kode panggilan menyediakan satu atau beberapa nilai untuk ParamArray
parameter, atau jika demikian, berapa banyak. Visual Basic meneruskan kontrol ke versi yang cocok dengan daftar argumen panggilan.
Mengkompilasi kode
Karena prosedur dengan parameter setara dengan ParamArray
sekumpulan versi yang kelebihan beban, Anda tidak dapat membebani prosedur seperti itu dengan daftar parameter yang sesuai dengan salah satu kelebihan beban implisit ini. Untuk informasi selengkapnya, lihat Pertimbangan dalam Prosedur Kelebihan Beban.
Keamanan .NET Framework
Setiap kali Anda berurusan dengan array yang bisa sangat besar, ada risiko melebihi kapasitas internal aplikasi Anda. Jika Anda menerima array parameter, Anda harus menguji panjang array yang diteruskan kode panggilan ke sana, dan mengambil langkah-langkah yang sesuai jika terlalu besar untuk aplikasi Anda.
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
- Petunjuk: Membebani Sebuah Prosedur yang Mengambil Parameter Opsional
- Resolusi Kelebihan Beban