Массив из функции...

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Vadopo
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 27.04.2004 (Вт) 8:33

Массив из функции...

Сообщение Vadopo » 27.04.2004 (Вт) 8:41

Цель задачи:
Получить из функции массив данных.

Пробуем так:
Public Class Form1
Inherits System.Windows.Forms.Form

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myArray() As String = GetCity()
Dim M As String
For Each M In myArray
MsgBox(M)
Next
End Sub

Public Function GetCity() As Array
Dim x As Array = Array.CreateInstance(GetType(String), 2)
x.SetValue("Первый Город", 0)
x.SetValue("Второй Город", 1)
Return x
End Function

End Class

Все получается. Но, как только я пробую вынести эту (GetCity) функцию за пределы данного класса – выдается ошибка.
Код:
Public Class MYPROJ_ext
Public Function GetCity2() As Array
Dim x As Array = Array.CreateInstance(GetType(String), 2)
x.SetValue("Первый Город", 0)
x.SetValue("Второй Город", 1)
Return x
End Function
End Class

--//--

Public Class Form2
Inherits System.Windows.Forms.Form

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myCls As MYPROJ_ext
Dim myArray() As String = myCls.GetCity2
Dim M As String
For Each M In myArray
MsgBox(M)
Next
End Sub

End Class

Ошибка:
An unhandled exception of type 'System.NullReferenceException' occurred in MYPROJ.exe
Additional information: Object reference not set to an instance of an object.

Вопрос: Почему это происходит? И как с этим бороться?

Vadopo
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 27.04.2004 (Вт) 8:33

Сообщение Vadopo » 27.04.2004 (Вт) 9:14

:idea: Я тут разобрался!..

Просто надо было оюъявить _новый_ класс:
вместо Dim myCls As MYPROJ_ext
надо Dim myCls As New MYPROJ_ext

и все... :wink:

Спасибо всем за внимание.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList