Массив произвольного размера в классе

  • Автор темы Taandr
  • Дата начала
T

Taandr

Гость
#1
При попытке изменения размера динамического массива в классе получаю ошибку
Use the "new" keyword to create an object instance.

[codebox]Public Class C
Private m_arr() As Integer
...
Public Sub setDim(ByVal cnt As Integer)
ReDim m_arr(cnt)
End Sub
...
End Class
[/codebox]

Где я должен сделать
Dim m_arr
чтобы исключить ошибку?

В инете ответ не нашел.
Про класс ArrayList знаю.
Объект класса С создается new.
Использую VS 2005

Спасибо.
 
T

Tanya

Гость
#2
Приведенный код сработал без ошибок.

Вызов:
Код:
Dim cl As New C

cl.setDim(2)

cl.setDim(5)
Возможно проблема не в этом?
 
T

Taandr

Гость
#3
Да, действительно.
В Виндовом приложении этот код срабатывает без ошибок! ;)
Дело в том, что я разрабатываю приложение для Windows Mobile
Видимо тут другие правила. :(
Поборол эту ошибку так:
Код:
Public Class Class1
...
Public Sub New()
Dim arr() As Integer

ReDim arr(0)
m_arr = arr
End Sub
...
End Class
При создании экземпляра класса создается и инициализируется локальная переменная - массив, а потом ссылка на этот массив записывается в глобальную переменную класса.
Так работает без ошибок.
Спасибо за внимание.