vb.net - "Object reference not set to an instance of an object"尝试添加到列表

标签 vb.net

我创建了一个对象“电子邮件”列表,其中包含具有 3 个参数(字符串地址、字符串主题、字符串正文)的“电子邮件”对象

然后我想通过创建更多“电子邮件”实例来添加到列表中。但是,我尝试了很多不同的方法,但都没有。

Public Class Test

   Public emails As List(Of Email)

   Private Sub Test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

      emails(0).setAddress("Hello")
      emails(0).setSubject("World2")
      emails(0).setBody("Why don't you work?")
      emails.Add(New Email("Hello2", "World2", "Why don't you work?2"))

   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Label1.Text = emails(0).getAddress
       Label2.Text = emails(0).getSubject
       Label3.Text = emails(0).getBody

       Label4.Text = emails(1).getAddress
       Label5.Text = emails(1).getSubject
       Label6.Text = emails(1).getBody
   End Sub
End Class

如果我单击 button1,我会收到错误“对象引用未设置为对象的实例”。

谢谢。

最佳答案

您还没有创建列表的实例,您只是声明了它。

 Public emails As New List(Of Email) 
 '                ^^^

关于vb.net - "Object reference not set to an instance of an object"尝试添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556669/

相关文章:

vb.net - 录制时可以播放的视频格式?

.net - VB.NET 中的 C#'s ` default` 相当于什么?

javascript - ExtJS 组合框有时隐藏在灰色的窗口后面

计算耗时

c# - 在 C# 中使用命名空间

asp.net GridView IF 空显示消息

c# - 从 VB.Net 迁移到 C#

MySQL 求和与大小写查询

vb.net - 函数返回参数中指定类型的对象

c# - 将 C# PageAsyncTask() 转换为 VB.Net 等效项时出现问题