Как я могу объявить массив структуры в структуре в VB? - PullRequest
1 голос
/ 01 мая 2019

У меня есть структура A, которая содержит 2 целых числа, 1 строку и 1 массив другой структуры B.

В функции я хочу инициализировать размер массива структуры 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 ()'". Как я могу установить размер моего массива?

1 Ответ

0 голосов
/ 01 мая 2019

Как вы понимаете прямо сейчас, для создания структуры, которую я бы использовал:

Dim CurrentXpData as XpGrpData = New XpGrpData()

При передаче аргумента в конструктор он ожидает, что вы определили, что вы хотите сделать с аргументом.Например, в struct / class вы бы добавили подпрограмму New ():

public sub New(myInput)
    me.someProperty = myInput
end sub

Как уже упоминалось, вы можете рассмотреть Class, если вам не нужен Struct. Они обращаются с памятью по-разному, и класс обычно имеет преимущество .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...