Bagikan melalui


Cara: Kelebihan Beban Prosedur yang Mengambil Parameter Opsional (Visual Basic)

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

  1. Sub Tulis pernyataan atau Function deklarasi yang menyertakan parameter opsional dalam daftar parameter. Jangan gunakan Optional kata kunci dalam versi yang kelebihan beban ini.

  2. Pastikan kata kunci Sub atau Function didahului oleh kata kunci Overloads.

  3. Tulis kode prosedur yang harus dijalankan saat kode panggilan menyediakan argumen opsional.

  4. Hentikan prosedur dengan pernyataan End Sub atau End Function yang sesuai.

  5. Tulis pernyataan deklarasi kedua yang identik dengan deklarasi pertama kecuali bahwa pernyataan tersebut tidak menyertakan parameter opsional dalam daftar parameter.

  6. Tulis kode prosedur yang harus dijalankan ketika kode panggilan tidak menyediakan argumen opsional. Hentikan prosedur dengan pernyataan End Sub atau End 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

  1. 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.

  2. Untuk setiap kombinasi argumen opsional yang disediakan yang dapat diterima, tulis Sub pernyataan atau Function deklarasi yang menentukan daftar parameter yang sesuai. Jangan gunakan Optional kata kunci.

  3. Dalam setiap deklarasi, awali Sub kata kunci atau Function dengan kata kunci Kelebihan Beban .

  4. Mengikuti setiap deklarasi, tulis kode prosedur yang harus dijalankan saat kode panggilan menyediakan daftar argumen yang sesuai dengan daftar parameter deklarasi tersebut.

  5. Hentikan setiap prosedur dengan pernyataan End Sub atau End Function yang sesuai.

Lihat juga