Nasıl yapılır: Değişkeninizle Aynı Adı Taşıyan Bir Değişkeni Gizleme (Visual Basic)

Bir değişkenin gizleyebilirsiniz gölgeleme onu, başka bir deyişle, aynı ada sahip bir değişken tanımlayarak tarafından.İki yolla gizlemek istediğiniz değişkeni gölge:

  • Kapsam gölgelendirme. Bu kapsamı ile geçerli bir alt bir bölgesi, gizlemek istediğiniz değişkeni içeren bölge içinde redeclaring gölge.

  • Devralma yoluyla gölgelendirme. Sınıf düzeyinde gizlemek istediğiniz değişkeni tanımlıysa, siz onu devralma yoluyla kendisiyle redeclaring gölge Shadows (Visual Basic) anahtar sözcüğünü türetilmiþ bir sýnýf içinde.

Bir değişken gizlemek için iki yol

Bir değişkenin kapsamı ile gölgeleme gizlemek için

  1. Gizlemek istediğiniz değişken tanımlama bölgesini belirleyin ve bir değişkeniniz ile yeniden tanımlamak, geçerli bir alt bölgesi belirler.

    Değişken bölge

    Geçerli bir alt onu yeniden tanımlama için izin verilen bölgesi

    Modül

    Sınıf modülü içinde

    Sınıf

    Sınıf içinde bir alt sınıfı

    Bir yordamda sınıfı

    Bu yordamı içinde bir blok içinde bir yordam değişken Örneğin, tanımlanamaz bir If...End If yapım veya bir For döngü.

  2. Zaten yoksa, geçerli bir alt bölgesi oluşturun.

  3. Geçerli bir alt bölgesi içinde yaz bir Dim Deyimi (Visual Basic) gölgeleme değişkeni bildirmek.

    Değişken adı için geçerli bir alt bölgesi içinde kod başvurduğu zaman, derleyici gölgelendirme değişken için başvuru giderir.

    Kapsam olarak gölgeleme atlar bir başvuru gölgeleme aşağıdaki örnekte gösterilmektedir.

    Module shadowByScope
        ' The following statement declares num as a module-level variable.
        Public num As Integer
        Sub show()
            ' The following statement declares num as a local variable.
            Dim num As Integer
            ' The following statement sets the value of the local variable.
            num = 2
            ' The following statement displays the module-level variable.
            MsgBox(CStr(shadowByScope.num))
        End Sub
        Sub useModuleLevelNum()
            ' The following statement sets the value of the module-level variable.
            num = 1
            show()
        End Sub
    End Module
    

    Yukarıdaki örnek değişkeni bildirir num modül düzeyinde ve yordam düzeyinde (yordamda show).Yerel değişken num modül düzeyi değişkeni gölgeleri num içinde show, yerel değişken 2'ye ayarlanır.Ancak, gölge yok yerel bir değişkene var. num , useModuleLevelNum yordam.Bu nedenle, useModuleLevelNum modül düzeyi değişkeni değerini 1'e ayarlar.

    MsgBox İçinde arama show gölgeleme mekanizması olarak nitelemek atlar num Modül adı ile.Bu nedenle, yerel değişken yerine modül düzeyi değişkeni görüntüler.

Devralma yoluyla gölgelendirme değişken gizlemek için

  1. Gizlemek istediğiniz değişken, bir sınıf ve sınıf düzeyinde (dışında herhangi bir yordam) bildirildiğinden emin olun.Aksi halde, devralma yoluyla gölgeleyemez.

  2. Biri zaten yoksa, değişkenin sınıfından türetilmiş bir sınıf tanımlayın.

  3. Türetilmiş bir sınıf içinde yazmak bir Dim deyimi değişkeniniz bildirmek.Dahil Shadows (Visual Basic) bildiriminde anahtar sözcüğü.

    Türetilmiş bir sınıf kodu için değişken adını başvurduğunda, derleyici sizin değişkenin başvurusu giderir.

    Devralma yoluyla gölgeleme aşağıdaki örnekte gösterilmektedir.İki başvuru, bir gölgelendirme değişken erişir ve gölgeleme atlar bir hale getirir.

    Public Class shadowBaseClass
        Public shadowString As String = "This is the base class string."
    End Class
    Public Class shadowDerivedClass
        Inherits shadowBaseClass
        Public Shadows shadowString As String = "This is the derived class string."
        Public Sub showStrings()
            Dim s As String = "Unqualified shadowString: " & shadowString &
                 vbCrLf & "MyBase.shadowString: " & MyBase.shadowString
            MsgBox(s)
        End Sub
    End Class
    

    Yukarıdaki örnek değişkeni bildirir shadowString temel sınıf ve türetilmiş bir sınıf içerisinde gölgeliyor.Yordam showStrings türetilmiş bir sınıf içerisinde gölgeleme sürümü dizesini görüntüler, ad shadowString değil tam.Gölgeli sürüm sonra görüntüler, shadowString ile yetkin olduğunu MyBaseanahtar sözcüğü.

Güçlü Programlama

Gölgelendirme değişken aynı ada sahip birden fazla sürümü kullanıma sunmuştur.Değişken adı için bir kod ifadesi başvurduğu zaman, derleyici başvuru açığını giderir sürüm kod deyiminin konumunu ve uygun bir dize varlığını gibi etkenlere bağlıdır.Bu gölgeli bir değişkenin istenmeyen bir sürümüne başvuran riskini artırabilir.Gölgeli bir değişkene yapılan tüm başvurular tam olarak nitelemek tarafından bu riski azaltabilirsiniz.

Ayrıca bkz.

Görevler

Nasıl yapılır: Devralınmış Değişkeni Gizleme (Visual Basic)

Nasıl yapılır: Türetilmiş Sınıf Tarafından Gizlenen Bir Değişkene Erişme (Visual Basic)

Başvuru

Geçersiz Kılmalar (Visual Basic)

Kavramlar

Bildirilmiş Öğelere Başvurular (Visual Basic)

Visual Basic'de Gölgeleme

Gölgeleme ve Geçersiz Kılma Arasındaki Farklar (Visual Basic)

Visual Basic'de Me, My, MyBase ve MyClass

Devralma Temelleri (Visual Basic)