2

複数の受信者を に追加する場合、MailMessage.BCCのオプションはありませんAddRange()。それだけMailMessage.Bcc.Add();

この機能は拡張メソッドによって変更できますか? 私はこの時点で少し迷っています。どんな指針でも大歓迎です。

4

2 に答える 2

5

System.Net.Mail.MailMessage クラスについて話していると仮定すると、必要なものは既に MailAddressCollection.Add メソッドによって提供されています (Bcc は MailAddressCollection タイプです)。

複数の電子メール アドレスをカンマ (",") で区切って Add メソッドを呼び出すだけです。

これをチェックして:

http://msdn.microsoft.com/en-us/library/ms144695(v=vs.100).aspx

于 2013-02-25T13:17:36.000 に答える
5

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("abc@xyz.com");
var address2 = new MailAddress("wxy@hij.com");
message.Bcc.AddRange(new[] { address1, address2 });
于 2013-02-25T13:15:58.647 に答える