这不是我不知道什么是NullRefrenceException
。有一些不确定的情况,我得到的错误。错误System.NullReferenceException同时将列表<T>分配给属性C#
我想给某些类的属性赋值。
这是我的课程。
// 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"
}
在我收到错误
System.NullReferenceException行
actionedReport.Message.ToRecipients = toRec;
:对象引用不设置到对象的实例。
我已经检查输入正确,并确定我分配一些值toRecipient
然后为什么我得到这个错误。这真让我抓狂。
它看起来像'actionedReport.Message'尚未分配,但在调试器下运行将能够确认这一点。 – Joe
'toRecipient'可能不为null,但'Message'或'ToRecipients'如何?当你建立一个新的'ActionedEmailReport'时,它包含的对象是实例化的吗? – pgruber
检查你的问题是重复的。特别是接受答案的“类实例”和“间接”部分。 –