Цель задачи:
Получить из функции массив данных.
Пробуем так:
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.
Вопрос: Почему это происходит? И как с этим бороться?