2013-05-17 96 views
0

我有以下两类我该如何解决

Public Class Square 
Private _ParentForm As Form 
     Public Sub New(ByVal Parent As Form) 
      _ParentForm = Parent 
     End Sub 

    'Implementation omitted 

End Class 


Public Class Board 
    Private _ParentForm As Form 

    Public Sub New(ByVal Parent As Form) 
     _ParentForm = Parent 
    End Sub 

    Private _Squares As List(Of Square) 

    Public Property Squares() As List(Of Square) 
     Get 
      Return _Squares 
     End Get 
     Set(ByVal value As List(Of Square)) 
      _Squares = value 
     End Set 
    End Property 

End Class 

此对象引用错误,当我使用followng代码它给我对象引用不设置到对象错误

Dim b As New Board(Me) 
    Dim s As New Square(Me) 
    b.Squares.Add(s) 

的一个实例是什么发生在这里

回答

1

你没有初始化_Squares领域。不记得究竟是如何做到这一点VB的,但应该是这样的:

Private _Squares As New List(Of Square) 

达伦的答案是正确的,也不过与这个你不必担心初始化类的外部列表。

1

您没有Square的实例,b.Squares尚未初始化。你需要

b.Squares As New List(Of Square) 

然后,您可以添加b.Squares.Add(s)

+0

此语法不正确。它应该是'b.Squares =新的列表(广场)' –