Dav*_*ave 2 c# extension-methods system.net.mail
将多个收件人添加到a时MailMessage.BCC
,没有选项AddRange()
.只要MailMessage.Bcc.Add();
可以通过扩展方法更改此功能吗?在这一点上我有点失落,任何指针都会非常感激.
MailMessage.Bcc
是 类型MailAddressCollection
。这MailAddressCollection
实现ICollection<MailAddress>
. 因此,您可以做的是编写一个AddRange
适用于任何ICollection<T>
.
这将如下所示:
public static class CollectionExtensions
{
public static void AddRange<T>(this ICollection<T> target, IEnumerable<T> items)
{
foreach(var item in items)
{
target.Add(item);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用它:
var address1 = new MailAddress("abc@xyz.com");
var address2 = new MailAddress("wxy@hij.com");
message.Bcc.AddRange(new[] { address1, address2 });
Run Code Online (Sandbox Code Playgroud)
假设您正在讨论System.Net.Mail.MailMessage类,您需要的是MailAddressCollection.Add方法(Bcc属于MailAddressCollection类型).
只需使用逗号字符(",")分隔的多个电子邮件地址调用Add方法即可.
检查一下:
http://msdn.microsoft.com/en-us/library/ms144695(v=vs.100).aspx