在VB中声明和并定义Property



我有两个class,我想把我的数据保存到数组的文本框中,如下所示:
学生姓名(txtID.Text-1).MathMark=txtMark.Text
但我得到错误:对象引用没有设置为对象的实例

我的代码是:

Dim StudentsNumber as Integer = txtstdnum.Text
Dim Students as New StudentsInf(StudentsNumber)
Students.Name(txtID.Text-1).MathMark = txtMark.Text

Public Class StudentsInf
    Private mName() As String
    Sub New(ByVal StudentNumbers As Integer)
        ReDim mName(StudentNumbers-1)
    End Sub
    Public Property Name(ByVal Index As Integer) As LessonsMark
        Get
            Return mName(Index)
        End Get
        Set(ByVal Value As LessonsMark)
            mName(Index) = Value
        End Set
    End Property
End Class
Public Class LessonsMark
    Private mMathMark() As Object
    Public Property MathMark() As Object
        Get
            Return mMathMark
        End Get
        Set(ByVal Value As Object)
            mMathMark = Value
        End Set
    End Property
End Class

这:

Private mName() As String

需要:

Private mName() As LessonsMark

然后你必须在构造函数中创建对象,比如:

Sub New(ByVal StudentNumbers As Integer)
  ReDim mName(StudentNumbers - 1)
  For i As Integer = 0 To StudentNumbers - 1
    mName(i) = New LessonsMark()
  Next
End Sub

然后看起来你的LessonsMark类声明了一个对象数组,而它看起来应该只是一个字符串属性:

Public Class LessonsMark
  Private mMathMark As String
  Public Property MathMark As String
    Get
      Return mMathMark
    End Get
    Set(ByVal Value As String)
      mMathMark = Value
    End Set
  End Property
End Class

最新更新