<BlogConfigurationSettings> <MailSettings> <MailSetting Name="ApproveEmail" SmtpServer="smtp.126.com" EmailFrom="" UserName="" PassWord=""></MailSetting> <MailSetting Name="ContactEmail" SmtpServer="smtp.163.com" EmailFrom="" UserName="" PassWord=""></MailSetting> </MailSettings> </BlogConfigurationSettings> |
MailSetting [Serializable] public class MailSetting { private string _name; [XmlAttribute("Name")] public string Name { get { return _name; } set { _name = value; } } private string _smtpServer; [XmlAttribute("SmtpServer")] public string SmtpServer { get { return _smtpServer; } set { _smtpServer = value; } } private string _mailFrom; [XmlAttribute("MailFrom")] public string MailFrom { get { return _mailFrom; } set { _mailFrom = value; } } private string _username; [XmlAttribute("UserName")] public string UserName { get { return _username; } set { _username = value; } } private string _password; [XmlAttribute("Password")] public string Password { get { return _password; } set { _password = value; } } public string Key { get { return this.Name; } } } |
private MailSetting [] __mailSettings; [XmlArray("MailSettings")] public MailSetting [] MailSettings { get { return this._mailSettings; } set { this._mailSettings = value; } } |
private MailSettingColletion _mailSettings; [XmlArray("MailSettings")] public MailSettingColletion MailSettings { get { return this._mailSettings; } set { this._mailSettings = value; } } |
private List<MailSetting> _mailSettings; [XmlArray("MailSettings")] public List<MailSetting> MailSettings { get { return _mailSettings; } set { _mailSettings = value;} } |
BlogConfigurationSettings.MailSettings.Find(delegate(MailSetting mailSetting) { return mailSetting.Key == "ApproveEmail"; }) |
public delegate bool Predicate<T>(T obj) |
BlogConfigurationSettings.MailSettings.Find(IsMe); public bool IsMe(MailSetting mailSetting) { return mailSetting.Key == "ApproveEmail"; } |
public bool IsMe(MailSetting mailSetting,string key) { return mailSetting.Key == key; } |
public class MailSettingPredicate { private string key; public string Key { get { return key; } set { key = value; } } public bool IsMe(MailSetting mailSetting) { return mailSetting.Key == this.key; } } |
MailSettingPredicate predicate= new MailSettingPredicate(); predicate.Key = "ApproveEmail"; Config.Settings.MailSettings.Find(predicate.IsMe); predicate.Key = "ContactEmail"; Config.Settings.MailSettings.Find(predicate.IsMe); |