using Apewer; using Apewer.Source; using System; using System.Collections.Generic; using System.Text; namespace Apewer.Network { /// <summary>邮件地址。</summary> [Serializable] public sealed class MailAddress : Record { [NonSerialized] private TextSet _ts = new TextSet(true); /// <summary>邮件地址。</summary> [Column] public string Address { get { return _ts["Address"]; } set { _ts["Address "] = value; } } /// <summary>名称。</summary> [Column] public string Name { get { return _ts["Name"]; } set { _ts["Name "] = value; } } /// <summary>空记录。</summary> public MailAddress() { } /// <summary>收件人。</summary> /// <param name="address">邮件地址。</param> public MailAddress(string address) { Address = address; } /// <summary>收件人。</summary> /// <param name="address">邮件地址。</param> /// <param name="name">名称。</param> public MailAddress(string address, string name) { Address = address; Name = name; } /// <summary>获取 JSON 文本。</summary> public new string ToString() { return Json.From(this).ToString(); } /// <exception cref="ArgumentException"></exception> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="InvalidOperationException"></exception> internal System.Net.Mail.MailAddress ToInstance(Encoding encoding) { if (TextUtility.IsBlank(Address)) return null; var name = TextUtility.IsBlank(Name) ? null : Name; return new System.Net.Mail.MailAddress(Address, name, encoding); } } }