代码之家  ›  专栏  ›  技术社区  ›  Town

为什么.net的MailMessage类的To属性是只读的?

  •  8
  • Town  · 技术社区  · 17 年前

    我有一个MailAddressCollection,其中包含了我想发送电子邮件的所有地址,但不能简单地拥有:

    myMessage.To = myMailAddressCollection;
    

    foreach (MailAddress address in myMailAddressCollection)  
    {  
        myMessage.To.Add(address);  
    }
    

    1 回复  |  直到 15 年前
        1
  •  9
  •   Henk Holterman    17 年前

    MailMessage类希望保护其属性,这是正确的封装。

    如果您的任务支持AddRange方法,那么它会变得简单一些,但就目前而言,您的代码将变得非常简单。

        2
  •  2
  •   Sean    7 年前

    我知道这很古老,但万一有人无意中发现:

    MailAddressCollection.Add可以接受以逗号分隔的电子邮件地址字符串。MailAddressCollection.ToString方法返回包含的电子邮件地址的逗号分隔字符串。

    所以OP可以做到这一点:

    myMessage.To.Add(myMailAddressCollection.ToString());
    

    AddRange方法仍然是首选方法。