J'étend la classe System.Net.Mail.MailAddress
pour inclure un champ ID, donc j'ai créé une nouvelle classe personnalisée MailAddress
qui a hérité de la classe existante et une nouvelle classe personnalisée MailAddressCollection
. J'ai ensuite surpassé le System.Net.Mail.MailMessage.To
existant pour utiliser ma nouvelle collection.parallel.foreach avec la collection personnalisée
Je voudrais traiter les destinataires en parallèle, mais je ne peux pas obtenir la bonne syntaxe. C'est la syntaxe que j'utilise.
Parallel.ForEach(EmailMessage.To, (MailAddress address) =>
{
emailService.InsertRecipient(emailId, address.DisplayName, address.Address, " ");
});
Je reçois les erreurs suivantes:
Le match de la meilleure méthode surchargée pour « System.Threading.Tasks.Parallel.ForEach (System.Collections.Generic.IEnumerable, System.Action) 'a quelques arguments non valides
argument 1: ne peut pas convertir de 'EmailService.MailAddressCollection' à 'System.Collections.Generic.IEnumerable'
De quelle syntaxe ai-je besoin pour utiliser des collections personnalisées?
Voici la classe EmailService.MailAddress:
public class MailAddress : System.Net.Mail.MailAddress
{
/// <summary>
/// Contains an identifier of the address for use in sending unique email links.
/// </summary>
public string ID = "";
public MailAddress(string Address) : base(Address)
{
}
public MailAddress(string Address, string Name): base(Address, Name)
{
}
public MailAddress(string Address, string Name, string Id) : base(Address, Name)
{
ID = Id;
}
}
J'ai ajouté la classe d'adresse de messagerie. – SchwartzE