Bayangan (Visual Basic)

Menentukan bahwa elemen pemrograman yang dinyatakan dideklarasikan ulang dan menyembunyikan elemen bernama identik, atau kumpulan elemen kelebihan beban, di kelas dasar.

Keterangan

Tujuan utama membayangi (yang juga dikenal sebagai menyembunyikan berdasarkan nama) adalah untuk mempertahankan definisi anggota kelas Anda. Kelas dasar mungkin mengalami perubahan yang membuat elemen dengan nama yang sama dengan elemen yang telah Anda tentukan. Jika ini terjadi, pengubah Shadows memaksa referensi melalui kelas Anda untuk diselesaikan ke anggota yang Anda tentukan, bukan ke elemen kelas dasar baru.

Baik membayangi maupun menimpa mendefinisikan ulang elemen yang diwariskan, tetapi ada perbedaan yang signifikan antara kedua pendekatan tersebut. Untuk informasi selengkapnya, lihat Membayangi dalam Visual Basic.

Aturan

  • Konteks Deklarasi. Anda dapat menggunakan Shadows hanya di tingkat kelas. Ini berarti konteks deklarasi untuk elemen Shadows harus berupa kelas, dan tidak dapat berupa file sumber, namespace, antarmuka, modul, struktur, atau prosedur.

    Anda hanya dapat mendeklarasikan satu elemen bayangan dalam satu pernyataan deklarasi.

  • Pengubah Gabungan. Anda tidak dapat menentukan Shadows bersama dengan Overloads, Overrides, atau Static dalam deklarasi yang sama.

  • Jenis Elemen. Anda dapat membayangi segala jenis elemen yang dideklarasikan dengan jenis lainnya. Jika Anda membayangi properti atau prosedur dengan properti atau prosedur lain, parameter dan jenis pengembalian tidak harus cocok dengan yang ada di properti atau prosedur kelas dasar.

  • Mengakses. Elemen yang dibayangi di kelas dasar biasanya tidak tersedia dari dalam kelas turunan yang membayanginya. Namun, pertimbangan berikut berlaku.

    • Jika elemen bayangan tidak dapat diakses dari kode yang merujuknya, referensi diselesaikan ke elemen bayangan. Misalnya, jika elemen Private membayangi elemen kelas dasar, kode yang tidak memiliki izin untuk mengakses elemen Private akan mengakses elemen kelas dasar sebagai gantinya.

    • Jika Anda membayangi elemen, Anda masih dapat mengakses elemen bayangan melalui objek yang dideklarasikan dengan jenis kelas dasar. Anda juga dapat mengaksesnya melalui MyBase.

Pengubah Shadows dapat digunakan dalam konteks ini:

Lihat juga