结构中的初始化字段

时间:2014-09-09 06:16:57

标签: .net vb.net structure nullreferenceexception

我有两种结构:

Dim testTransakcje(1) As Transakcje

Private Structure Transakcje
        Public kontrahentNazwa As String
        Public listaTowarow() As Towary
End Structure

Public Structure Towary
        Public towarSymbol As String
        Public towarNazwa As String
        Public towarIlosc As Integer
        Public towarCena As Double
End Structure

我想分配一些像这样的值:

testTransakcje(1) = New Transakcje

testTransakcje(0).listaTowarow(0).towarSymbol = "FFF"
testTransakcje(0).listaTowarow(0).towarNazwa = "Test"
testTransakcje(0).listaTowarow(0).towarIlosc = 4
testTransakcje(0).listaTowarow(0).towarCena = 44.55
testTransakcje(0).listaTowarow(1).towarSymbol = "GGG"
testTransakcje(0).listaTowarow(1).towarNazwa = "Test2"
testTransakcje(0).listaTowarow(1).towarIlosc = 5
testTransakcje(0).listaTowarow(1).towarCena = 96.55

我不想创建Towary结构的对象,我只想在一行中进行赋值。

我有一个错误:“对象引用未设置为对象的实例”

我知道listaTowarow()没什么,但我不知道如何初始化它。

1 个答案:

答案 0 :(得分:2)

你不能这样做。您可以从结构外部初始化它,也可以将其声明为共享,我不确定它会对您有所帮助:

Private Structure Transakcje
    Public kontrahentNazwa As String
    ' Declaring shared initialized field of type Towary
    Public Shared listaTowarow(1) As Towary   
End Structure