Bagikan melalui


Bayangan (Visual Basic)

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

Komentar

Tujuan utama bayangan (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 yang telah Anda tentukan. Jika ini terjadi, modifier Shadows memaksa referensi dalam kelas Anda untuk diarahkan pada anggota yang Anda tentukan, bukan pada elemen kelas dasar yang baru.

Membayangi dan mengambil alih mendefinisikan ulang elemen yang diwariskan, tetapi ada perbedaan signifikan antara kedua pendekatan. Untuk informasi selengkapnya, lihat Bayangan di Visual Basic.

Aturan

  • Konteks Deklarasi. Anda hanya dapat menggunakan Shadows di tingkat kelas. Ini berarti konteks deklarasi untuk Shadows elemen harus merupakan kelas, dan tidak boleh menjadi 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 lain. Jika Anda membayangi properti atau prosedur dengan properti atau prosedur lain, parameter dan jenis pengembalian tidak harus cocok dengan properti atau prosedur kelas dasar.

  • Mengakses. Elemen bayangan 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 Private elemen membayangi elemen kelas dasar, kode yang tidak memiliki izin untuk mengakses Private elemen 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