Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在类公共属性中保存基本数组_Arrays_Vb.net_Class - Fatal编程技术网

Arrays 在类公共属性中保存基本数组

Arrays 在类公共属性中保存基本数组,arrays,vb.net,class,Arrays,Vb.net,Class,我想知道如何在VB.Net中保存类内部的数组。这是我的表单代码(当程序加载时执行) 不允许我更改此代码(这是本书中的一个问题),我应该创建类以便它可以运行 所以我创建了“StatsMachine”类。我的第一个公共属性Data应该获取在此代码中创建的数组并保存它。不幸的是,我不能让它工作。我现在的代码是: Public Class StatsMachine Dim sourceData As Form1 Dim m_arr() As Integer Public Pro

我想知道如何在VB.Net中保存类内部的数组。这是我的表单代码(当程序加载时执行)

不允许我更改此代码(这是本书中的一个问题),我应该创建类以便它可以运行

所以我创建了“StatsMachine”类。我的第一个公共属性Data应该获取在此代码中创建的数组并保存它。不幸的是,我不能让它工作。我现在的代码是:

Public Class StatsMachine
    Dim sourceData As Form1
    Dim m_arr() As Integer

    Public Property Data As Integer
        Get
            Return m_arr
        End Get
        Set(ByVal value As Integer)
            m_arr() = sourceData.intArr()
        End Set
    End Property
End Class
Visual Studio说找不到sourceData.intar()。我假设这是因为我需要在调用它时添加另一个标识符。这会是什么?这实际上不仅仅适用于数组,我不知道如何从表单1调用东西


谢谢

我假设您正在尝试实现这行代码背后的类和属性:

statsObj.Data = intArr  
由于
intArr
已声明
为整数()
您应该使
数据
属性相同

您将需要这样一个类:

Public Class StatsMachine
    Private m_arr As Integer()

    Public Property Data As Integer()
        Get
            Return m_arr
        End Get
        Set(ByVal value As Integer())
            m_arr = value
        End Set
    End Property
End Class
我不确定在Data setter函数中设置数组时是否所有括号都正确(因为它是VB),它可能需要
m_arr()=value


请务必在您的作业中记下我的话:)

问题在于,当Form1\u Load中的代码实际访问您创建的类时,您正试图从Form1访问数据。我很惊讶Visual Studio没有抱怨试图将变量声明为Form1,除非您在某个地方有一个同名的类。

是的。我认为,如果行
Dim sourceData As Form1
实际上是
Dim sourceData As New Form1
,它将进入对象创建的无休止的递归循环。。。
Public Class StatsMachine
    Private m_arr As Integer()

    Public Property Data As Integer()
        Get
            Return m_arr
        End Get
        Set(ByVal value As Integer())
            m_arr = value
        End Set
    End Property
End Class