VB.net 中的 WSDL 复杂类型重复属性

问题描述 投票:0回答:1

对我的术语表示歉意,我希望我在这里提供了足够的信息。我正在 VB.net 中工作,并加载了一个连接的服务 URL,该 URL 拉入了一个 wsdl 文件。我需要在 wsdl 中定义的代码中填充的复杂类型对象之一名为 deliveryaddressType,它是不重复的,并且有 5 个可以设置的属性。其中四个属性很简单,并且需要单个字符串值。其中之一还需要一个字符串值,但元素can最多重复两次。这是我目前拥有的:

Dim DeliveryAddress As New deliveryaddressType

     DeliveryAddress.addressline(0) = "address line 1"
     DeliveryAddress.city = "city"
     DeliveryAddress.zip = "zip"
     DeliveryAddress.state = "state"
     DeliveryAddress.country = "USA"

因为地址行可能有 2 个值,所以它不会简单地让我设置 DeliveryAddress.addressline =“地址行 1”。

我相信它可能需要一组地址行属性?所以我尝试设置地址线(0),其中我得到“对象引用未设置为对象的实例”。

deliveryAddressType 本身不应该是数组,但属性本身应该是?我是否需要以某种方式将地址行属性实例化为指定长度为 1 的数组,以便我可以设置 (0)?我是否以正确的方式思考这个问题,还是完全不对劲?

arrays vb.net service properties wsdl
1个回答
0
投票

好吧,我相信在设置 addressline(0) 属性之前我通过以下代码行解决了这个问题。 DeliveryAddress.addressline = 新字符串(1) {}

Dim DeliveryAddress As New deliveryaddressType
DeliveryAddress.addressline = New String(1) {}

 DeliveryAddress.addressline(0) = "address line 1"
 DeliveryAddress.city = "city"
 DeliveryAddress.zip = "zip"
 DeliveryAddress.state = "state"
 DeliveryAddress.country = "USA"
© www.soinside.com 2019 - 2024. All rights reserved.