VB.NET中Item类Tax数组属性赋值报错问题求助
问题原因
你的Item类中taxes属性是**Tax()(Tax类型的数组)**,但你直接把单个Tax实例赋值给它,类型不匹配,所以报错。
正确的赋值方式
方式1:直接创建包含单个Tax实例的数组赋值
Dim TaxProduct As New Tax Dim Product As New Item TaxProduct.taxCode = "01" TaxProduct.taxAmount = 1000 ' 将单个Tax实例包装成数组赋值 Product.taxes = {TaxProduct} Product.code = "10"
方式2:先初始化数组,再给数组元素赋值
如果需要后续添加多个Tax实例,可以先指定数组长度:
Dim TaxProduct As New Tax Dim Product As New Item TaxProduct.taxCode = "01" TaxProduct.taxAmount = 1000 ' 初始化长度为1的Tax数组 Product.taxes = New Tax(0) {} ' 给数组第一个元素赋值 Product.taxes(0) = TaxProduct Product.code = "10"
方式3:添加多个Tax实例的情况
如果需要给Item添加多个Tax,直接扩展数组元素即可:
Dim Product As New Item ' 直接创建包含多个Tax实例的数组 Product.taxes = { New Tax With {.taxCode = "01", .taxAmount = 1000}, New Tax With {.taxCode = "02", .taxAmount = 2000} } Product.code = "10"
这样处理后,类型匹配,就能正常生成JSON了。
内容的提问来源于stack exchange,提问作者Bladimir Silva Toro
相关产品推荐
相关产品推荐

