這不是我不知道什麼是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
檢查你的問題是重複的。特別是接受答案的「類實例」和「間接」部分。 –