Я пытаюсь ReDim массива-члена на основе чтения файла. Я не могу понять, как это сделать. Это то, что я пробовал, но это не сработает.VB ReDim поля члена программно
Public Class BS
Public A() As String
Public B() As Double
Public C() As Double
End Class
Public Class SB
Public MyBS() As BS
'ReadFieldString is a function that returns a string of the field name of Class BS,
'i.e., A, B or C. For test purpose, retun a constant
Public Function ReadFieldString() As String
Return "B"
End Function
'GetArrayDim is a function that returns an integer, which is the size of the array
'of that field name. For test purpose, retun a constant
Public Function GetArrayDim() As Integer
Return 1
End Function
Public Sub DimArrays()
ReDim MyBS(3)
Dim i As Integer
For i = 0 To MyBS.Length - 1
'Try to ReDim the member of MyBS
ReDim MyBS(i).GetType.GetField(ReadFieldString)(GetArrayDim)
Next()
End Sub
End Class
ReDim оператор имеет ошибку «Выражение представляет собой значение, и, следовательно, не может быть объектом уступки.» Спасибо заранее.
Я не уверен, что вы пытаетесь выполнить с помощью типа get, но redim должен использовать только массив и новое количество элементов. http://msdn.microsoft.com/en-us/library/w8k3cys2(v=vs.100).aspx – Wade73
Я пытаюсь установить размер массива члена. но член «Имя» и размер массива считываются из файла. Как передать член на основе строки, считанной из файла? Это пример, настоящий класс «BS» содержит сотни членов, поэтому делать что-то вроде «if» нецелесообразно. – scriptOmate