如何解决从II级结构模型创建嵌套模型
早上好,我有这个带有嵌套模型的课程:
public class EmailMessage
{
public class EmailAddress
{
public string Name { get; set; }
public string Address { get; set; }
}
public EmailMessage()
{
ToAddresses = new List<EmailAddress>();
FromAddresses = new List<EmailAddress>();
}
public List<EmailAddress> ToAddresses { get; set; }
public List<EmailAddress> FromAddresses { get; set; }
public string Subject { get; set; }
public string Content { get; set; }
}
在实现 忘记密码 时,创建该类型的模型存在问题,但是我在语法上遇到了问题-我以这种方式尝试:
var message = new EmailMessage
{
ToAddresses =
{
Name = "Test",Address = "test@gmail.com",},Subject = "Reset password token",Content = callback);
}
正确的语法如何?是否需要使用foreach?
解决方法
您需要使用List<EmailAddress>
运算符初始化new
,然后还使用EmailAddress
运算符初始化列表中的每个新new
。此外,您定义了一个构造函数,该构造函数同时需要ToAddresses
和FromAddresses
列表。您可以这样实例化它:
var message = new EmailMessage(
ToAddresses: new List<EmailAddress>()
{
new EmailAddress()
{
Name = "Test",Address = "test@gmail.com"
}
},FromAddresses: new List<EmailAddress>())
{
Subject = "Reset password token",Content = callback
};
请注意,就像问题中的代码一样,当前FromAddreeses
列表为空。
如果您有来自另一个集合(例如数据库)的多个地址,则也可以使用foreach
来构建List<EmailAddress>
,然后仅通过该构建列表来代替上例中的new List...
。请注意,foreach
不能在初始化语法内使用-它必须是单独的语句才能构建列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。