' Visual Basic 2008 9.0 .NET Examples - Object Initializers - New in Visual Basic 2008 - 9.0 : 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 Private m_Address As Address Public Property Address() As Address Get Address = m_Address End Get Set(ByVal value As Address) m_Address = value End Set End Property End Class Class Address Private m_Street As String Public Property Street() As String Get Street = m_Street End Get Set(ByVal value As String) m_Street = value End Set End Property Private m_City As String Public Property City() As String Get City = m_City End Get Set(ByVal value As String) m_City = value End Set End Property Private m_ZipCode As String Public Property ZipCode() As String Get ZipCode = m_ZipCode End Get Set(ByVal value As String) m_ZipCode = value End Set End Property End Class Class Counter Public Sub New(ByVal value As Integer) m_Value = value End Sub Private m_Value As Integer Public ReadOnly Property Value() As Integer Get Value = m_Value End Get End Property Private m_StepValue As Integer Public Property StepValue() As Integer Get StepValue = m_StepValue End Get Set(ByVal value As Integer) m_StepValue = value End Set End Property Public Sub Raise() m_Value += StepValue End Sub End Class Class Example Public Shared Sub Main() Dim person1 As Person = New Person() With {.Name = "John"} Console.WriteLine(person1.Name) ' Dim person2 As Person = New Person() ' (1) With person2 ' (1) .Name = "Paul" ' (1) End With ' (1) ' Dim person3 As Person = New Person() _ With {.Name = "Jane", _ .Address = New Address() _ With {.City = "New York"}} ' (2) Console.WriteLine(person3.Name) Console.WriteLine(person3.Address.City) ' Dim counter1 As Counter = New Counter(5) With {.StepValue = 4} ' (3) Console.WriteLine(counter1.Value) counter1.Raise() Console.WriteLine(counter1.Value) ' Console.ReadLine() End Sub End Class ' Visit www.studyvb.com for more examples. Copyright 2003-2008 De Wolf.