提问人:Ashok 提问时间:4/6/2017 最后编辑:Ashok 更新时间:4/6/2017 访问量:505
将 List<T> 分配给属性 C# 时出错 System.NullReferenceException [duplicate]
Error System.NullReferenceException while assigning List<T> to a property C# [duplicate]
问:
这不是我不知道是什么.在一些不确定的情况下,我遇到了错误。NullRefrenceException
我正在尝试为某些类的属性赋值。
这是我的课程。
// These classes are in EmailProcess namspace
public class ActionedEmailReport
{
public Message Message { get; set; }
public string SaveToSentItems { get; set; }
}
public class ToRecipient
{
public EmailObject.EmailAddress EmailAddress { get; set; }
}
public class Message
{
public string Subject { get; set; }
public Body Body { get; set; }
public List<ToRecipient> ToRecipients { get; set; }
}
public class Body
{
public string ContentType { get; set; }
public string Content { get; set; }
}
// Below class in EmailObject namespace.
namespace EmailObject
{
public class EmailAddress
{
public string Address { get; set; }
}
}
这是我为类的属性赋值的代码。
public void EmailProcessing(string recepeint)
{
ActionedEmailReport actionedReport = new ActionedEmailReport();
List<ToRecipient>toRecipient = new List<ToRecipient>();
EmailObject.EmailAddress emailAddress= new EmailObject.EmailAddress();
emailAddress.Address = recepeint;
toRecipient.Add(new ToRecipient()
{
EmailAddress=emailAddress
});
// I'm getting error on the below line.
actionedReport.Message.ToRecipients = toRecipient;
actionedReport.Message.Body.Content = "Hello";
actionedReport.Message.Body.ContentType = "Text";
actionedReport.SaveToSentItems = "True";
actionedReport.Message.Subject = "Demo Email"
}
在线上,我收到错误actionedReport.Message.ToRecipients = toRec;
System.NullReferenceException:对象引用未设置为对象的实例。
我已经正确检查了输入,并确保我为为什么出现此错误分配了一些值。这让我发疯了。toRecipient
答:
1赞
christophano
4/6/2017
#1
中的属性未被实例化。您需要将构造函数添加到您的属性中,并新建该属性。
您可能还需要对类中的属性执行相同的操作。Message
ActionedEmailReport
ActionedEmailReport
Message
Body
Message
评论
0赞
Ashok
4/6/2017
凉!这个伎俩奏效了。多谢。
下一个:奇偶随机指针,链表
评论
actionedReport.Message
toRecipient
可能不是 null,但是 OR 呢?当您构建一个新的 时,它包含的对象是否实例化?Message
ToRecipients
ActionedEmailReport