NullReference Exception для объекта, который я инициализировал как новый список (Of)?

Может кто-нибудь объяснить, почему я получаю исключение NullReference Exception для объекта, который я инициализировал как новый список (Of)??

Module Module1
  ' MAIN =================================    
  Sub Main()
    Console.Clear()
    Console.WriteLine("Creating Bar")
    Dim myBar As New Bar()
    Console.ReadLine()
  End Sub    
End Module

Class Foo
  Public Overridable Property Test As String

  Public Sub New()
    Me.Test = "hello"
  End Sub
End Class

Class Bar
  Inherits Foo
  Private _MyString As New List(Of String)

  Public Sub New()
    MyBase.New()
  End Sub

  Public Overrides Property Test As String
    Get
      Return MyBase.Test
    End Get
    Set(value As String)
      MyBase.Test = value
      ' NULL REFERENCE EXCEPTION ???????!!!!!!!!!!!
      Console.WriteLine("{0}, and _MyString.Count = {1}", MyBase.Test, Me._MyString.Count)
    End Set
  End Property
End Class

Ответ 1

Foo.New() выполняется перед инициализаторами поля в Bar().

Часть New As New List(Of String) на самом деле является частью конструктора Bar.New(), который выполняется после MyBase.New().