將多個收件人添加到MailMessage.BCC
時,沒有AddRange()
的選項。只有MailMessage.Bcc.Add();
MailMessage的擴展方法Bcc AddRange
可以通過擴展方法更改此功能嗎?我有點迷失在這一點上,任何指針將非常感激。
將多個收件人添加到MailMessage.BCC
時,沒有AddRange()
的選項。只有MailMessage.Bcc.Add();
MailMessage的擴展方法Bcc AddRange
可以通過擴展方法更改此功能嗎?我有點迷失在這一點上,任何指針將非常感激。
假設你正在談論的System.Net.Mail.MailMessage類,你需要已由MailAddressCollection.Add方法提供(Bcc是MailAddressCollection類型的)。
只需調用多個電子郵件地址用逗號字符(「,」)分隔的Add方法即可。
檢查:
http://msdn.microsoft.com/en-us/library/ms144695(v=vs.100).aspx
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);
}
}
}
然後,您可以使用此像這樣:
var address1 = new MailAddress("[email protected]");
var address2 = new MailAddress("[email protected]");
message.Bcc.AddRange(new[] { address1, address2 });
+1我沒有看到'MailAddressCollection'類的超載。 – Lukazoid 2013-02-25 13:18:41