我有一个结构A,其中包含2个整数,1个String和另一个Struct B的1个数组。
在一个函数中,我想初始化结构B的数组的大小,但是Microsoft Visual Basic不想接受我所做的所有尝试。
结构A
Structure XpGrpData
Dim Mode As Integer
Dim XpValue As Integer
Dim Name As String
Dim player As XpUsrData()
End Structure
结构B
Structure XpUsrData
Dim Mode As Integer
Dim XpValue As Integer
Dim Name As String
End Structure
我通常如何做这件事
Dim CurrentXpData As XpGrpData
CurrentXpData.player = New XpGrpData(myValue)
但是我的IDE提示“'Public Sub New()'的参数过多”。 如何设置数组的大小?
答案 0 :(得分:0)
正如您现在所拥有的,要实例化我将使用的结构:
Dim CurrentXpData as XpGrpData = New XpGrpData()
将参数传递给构造函数时,它期望您已定义要对参数进行的操作。例如,在struct /类中,您将添加一个New()子例程:
public sub New(myInput)
me.someProperty = myInput
end sub
如前所述,除非特别需要Struct,否则您可能要考虑Class。 They handle memory differently and a class is usually advantageous。
答案 1 :(得分:0)
这个模式对我有用,可以解决尴尬的语法错误:
Dim temp(myValue) As XpGrpData
CurrentXpData.player = temp