void ReloadAddressList(string field, InternetAddressList list) { // clear the address list and reload list.Changed -= InternetAddressListChanged; list.Clear(); foreach (var header in Headers) { if (icase.Compare(header.Field, field) != 0) { continue; } int length = header.RawValue.Length; List <InternetAddress> parsed; int index = 0; if (!InternetAddressList.TryParse(Headers.Options, header.RawValue, ref index, length, false, false, out parsed)) { continue; } list.AddRange(parsed); } list.Changed += InternetAddressListChanged; }
void AddAddresses(Header header, InternetAddressList list) { int length = header.RawValue.Length; List <InternetAddress> parsed; int index = 0; // parse the addresses in the new header and add them to our address list if (!InternetAddressList.TryParse(Headers.Options, header.RawValue, ref index, length, false, false, out parsed)) { return; } list.Changed -= InternetAddressListChanged; list.AddRange(parsed); list.Changed += InternetAddressListChanged; }