Shadowing

Shadowing


When we have two programming elements with the same name and the code refers to the name they share the programming elements with closer scope or narrower scope is called as Shadowing. We can intentionally call a programming element by using shadows keyword.

 

Example 1.

 

Public Class Form2

    Dim x As Integer = 10

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim x As Integer = 30

        MsgBox(x)

    End Sub

End Class

 

 

 

Example 2.

 

Public Class Form1

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim a As New raj2

        MsgBox(a.x)

    End Sub

    Public Class raj1

        Public x As Integer = 10

    End Class

    Public Class raj2

        Inherits raj1

        Public Shadows ReadOnly Property x() As Integer

            Get

                Return 16

            End Get

        End Property

    End Class

End Class