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