これは、Xml オブジェクトをシリアライズおよびデシリアライズするためのものです。
<XmlRoot("orderadd")>
<Serializable()> _
Public Class clsSMsgRequestMessage
<XmlElementAttribute()> Public Property ordertype() As String
<XmlElementAttribute()> Public Property vehicleid() As String
<XmlElementAttribute()> Public Property orderpriority() As String
<XmlElementAttribute("orderpart")> Public Property orderpart() As RequestMessageOrderaddOrderpart()
<XmlAttributeAttribute()> Public Property clientid() As String
<XmlAttributeAttribute()> Public Property transactionid() As String
<XmlAttributeAttribute()> Public Property numberoforderparts() As String
Public Sub New()
End Sub
End Class
Public Class RequestMessageOrderaddOrderpart
<XmlElementAttribute()> Public Property operation() As String
<XmlElementAttribute()> Public Property location() As String
<XmlElementAttribute()> Public Property loadtype() As String
<XmlAttributeAttribute()> Public Property orderpartnumber() As String
Public Sub New()
End Sub
End Class
これは逆シリアル化では正しく機能しますが、XML オブジェクトにシリアル化できるように、このオブジェクトを正しく作成しようとしています。
Dim anotherTest As clsSMsgRequestMessage = New clsSMsgRequestMessage()
Dim testOrderPart1 As New RequestMessageOrderaddOrderpart
anotherTest.clientid = "data"
anotherTest.orderpriority = "data"
anotherTest.ordertype = "data"
anotherTest.transactionid = "data"
anotherTest.vehicleid = "data"
anotherTest.numberoforderparts = "data"
testOrderPart1.loadtype = "data"
testOrderPart1.location = "data"
testOrderPart1.operation = "data"
testOrderPart1.orderpartnumber = "data"
anotherTest.orderpart(0) = testOrderPart1
anotherTest.orderpart(0) がまだインスタンス化されていないため、最後の行は機能しません。しかし、インスタンス化する方法がわかりません。
anotherTest.orderpart(0) = New RequestMessageOrderaddOrderPart
「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。
anotherTest.orderpart = New RequestMessageOrderaddOrderPart
「型の値は「の 1 次元配列」に変換できません」
「testOrderPart1」で行っているように、それ自体をインスタンス化することで正しい軌道に乗っていると思いますが、それを別のTest.orderpartにリンクする方法がわかりません
助けてください!