Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
VB.NET将行数据添加到类型为List(of T)的公共类/公共字段对象引用未设置为对象实例_Vb.net_Class_Public_Generic List - Fatal编程技术网

VB.NET将行数据添加到类型为List(of T)的公共类/公共字段对象引用未设置为对象实例

VB.NET将行数据添加到类型为List(of T)的公共类/公共字段对象引用未设置为对象实例,vb.net,class,public,generic-list,Vb.net,Class,Public,Generic List,我试图将行添加到具有公共字段的公共类中,但遇到一个错误:对象引用未设置为对象的实例 Public Class EmailRecipient EmailAddress As String = "" FullName As String = "" End Class Public Class EmailDetails Public FromEmail As String = "" Public ToEmails

我试图将行添加到具有公共字段的公共类中,但遇到一个错误:对象引用未设置为对象的实例

    Public Class EmailRecipient
        EmailAddress As String = ""
        FullName As String = ""
    End Class

    Public Class EmailDetails
        Public FromEmail As String = ""
        Public ToEmails As List(Of Emails) = nothing  
    End Class

    Public Sub SetEmailDetails
        'Populate EmailRecipient Class
        Dim er As New EmailRecipient
        er.EmailAddress = "rodney@norespect.com"
        er.FullName = "Rodney Dangerfield"

        'Populate EmailDetails Class
         Dim ed As New EmailDetails
         ed.FromEmail = "sender@danger.com"   'This works fine
         ed.ToEmails.Add(er)                  'Here error happens
    End Sub
我猜我需要先创建EmailRecipient类的实例,然后才能向其添加项目

不知道如何使用公共类中的公共字段执行此操作

这是艰难的一天。我今天早上起床,穿上一件衬衫,一颗纽扣掉了。我拿起公文包,把手掉了下来。我害怕去洗手间

谢谢你的帮助:-)

我猜我需要创建EmailRecipient类的实例

您已经有EmailRecipient类的实例。这是你的er变量。这里实际上有两个错误。首先,将ToEmails显式设置为Nothing:

公共邮件列表(电子邮件)=无

这意味着您的ToEmails变量是空引用。它还没有实际的对象

第二个问题是,您不应该得到这个expetion,因为它甚至不应该编译。您将ToEmails定义为(电子邮件)列表,但尝试向其中添加“EmailRecepient”类型的对象。这应该是一个编译器错误。如果不是,则需要重新启用Option Strict或Option推断

因此,您真正需要的是列表(EmailRecipient)类型的实例。修复错误代码行,如下所示:

Public ToEmails As New List(Of EmailRecipient)

谢谢-将公共变量列表声明为新的,并且不将其设置为“无”,解决了问题:-)