【发布时间】:2015-07-02 16:02:30
【问题描述】:
您好,我有以下代码
Partial Public Class DT_AnalyseDetail
Private componentField As String
Private contentField As String
Public Property Component() As String
Get
Return Me.componentField
End Get
Set(value As String)
Me.componentField = Value
End Set
End Property
Public Property Content() As String
Get
Return Me.contentField
End Get
Set(value As String)
Me.contentField = Value
End Set
End Property
End Class
Partial Public Class DT_Analyse
Private detailField() As DT_AnalyseDetail
Private batchField As String
Public Property Detail() As DT_AnalyseDetail()
Get
Return Me.detailField
End Get
Set(value As DT_AnalyseDetail())
Me.detailField = value
End Set
End Property
Public Property Batch() As String
Get
Return Me.batchField
End Get
Set(value As String)
Me.batchNoField = Value
End Set
End Property
End Class
Sub()
Dim a_Myana(1) As DT_Analyse
Dim a_Mydet(1) As DT_AnalyseDetail
a_Mydet(0) = New DT_AnalyseDetail
a_Mydet(0).Component = "TEST"
a_Mydet(0).Content= "YES"
a_Myana(0) = New DT_Analyse
a_Myana(0).Batch= "123"
a_Myana(0).Detail(0) = New DT_AnalyseDetail
a_Myana(0).Detail(0) = a_Mydet(0)
End Sub
当我想填写 a_Myana(0).Detail(0) = a_Mydet(0) 时发生错误 我猜我的类/数组定义不正确。但我不确定如何处理它。 “细节”是否需要更多维度? 类定义是由 Visual Studios xsd.exe 从 xesd 文件编写的。
【问题讨论】:
-
几乎所有 NullReference 异常都有相同的原因。有关这方面的帮助,请参阅 NullReference Exception in Visual Basic。
Public Sub()仅此而已,代码无效 -
是的,我以前见过,但这并不能帮助我在我的例子中找到我的错误。 Public Sub 只是被放入其中以明确该类的定义是在“外部”完成的。 (明天检查 Plutonix 与阵列的链接,谢谢)
-
a_Mydet(1)又名 null。没有。Nothing没有名为Component的属性。您需要在设置Component属性之前实例化一个DT_AnalyseDetail对象:a_Mydet(1) = New DT_AnalyseDetail() -
完美,谢谢,这么小的错误。我知道从零开始,在我的真实代码中是通过整数完成的,所以没关系,谢谢。
标签: arrays vb.net visual-studio-2010 object