'Visual Basic 2010 Dynamic Binding Static Typing en Dynamic Binding Class Person End Class Class Student : Inherits Person End Class Class Example1 Public Shared Sub Main() Dim person1 As Person = New Person ' (1) ' person1 : static ( Person ) = dynamic ( Person ) ' Dim person2 As Student = New Student ' (2) ' person2 : static ( Student ) = dynamic ( Student ) ' Dim person3 As Person = New Student ' (3) ' person3 : static ( Person ) <> dynamic ( Student ) End Sub End Class Partial Class Person Private m_Name As String Public Property Name() As String Get Name = m_Name End Get Set(ByVal value As String) m_Name = value End Set End Property End Class Class Example2 Public Shared Sub Main() Dim person1 As Person = New Person With {.Name = "John"} ' (1) ' person1 : static ( Person ) = dynamic ( Person ) Console.WriteLine(person1.Name) ' Dim person2 As Student = New Student With {.Name = "Jane"} ' (2) ' person2 : static ( Student ) = dynamic ( Student ) Console.WriteLine(person2.Name) ' Dim person3 As Person = New Student With {.Name = "Paul"} ' (3) ' person3 : static ( Person ) <> dynamic ( Student ) Console.WriteLine(person3.Name) ' Console.ReadLine() End Sub End Class Class Counter Protected m_Value As Integer Public Sub New(ByVal value As Integer) m_Value = value End Sub Public ReadOnly Property Value() As Integer Get Value = m_Value End Get End Property Public Overridable Sub Raise() m_Value += 1 End Sub End Class Class SpecialCounter : Inherits Counter Public Sub New(ByVal value As Integer, ByVal stepValue As Integer) MyBase.New(value) Me.StepValue = stepValue End Sub Private m_StepValue As Integer Public Property StepValue() As Integer Get StepValue = m_StepValue End Get Set(ByVal StepValue As Integer) m_StepValue = StepValue End Set End Property Public Overrides Sub Raise() m_Value += StepValue End Sub End Class Class Example3 Public Shared Sub Main() Dim counter1 As Counter = New Counter(10) Console.WriteLine(counter1.Value) counter1.Raise() Console.WriteLine(counter1.Value) ' Dim counter2 As Counter = New SpecialCounter(20, 5) Console.WriteLine(counter2.Value) counter2.Raise() ' (1) Console.WriteLine(counter2.Value) ' (2) ' Console.ReadLine() End Sub End Class 'Bezoek www.vbvoorbeelden.be voor meer Visual Basic voorbeelden. 'Copyright - De Wolf / vbvoorbeelden - 2003-2011 - Alle rechten voorbehouden.