Bonjour,
D'un côté j'ai une classe AddressMailCollection : List<MailAddress>
De l'autre j'ai une variable de type 'MatchCollection' résultant de la procédure
Regex.Matches(chaine,pattern); .
Je cherche à implémenter un cast implicite dans ma classe 'AddressMailCollection' afin de convertir rapidement les résultats de l'expression régulière en une instance de AddressMailCollection , si possible sans faire apparaitre de boucle...
Merci d'avance...
Source :
public
class
MailAddress
{
string
mailAddress=
""
;
public
MailAddress(
string
mailAddress)
{
this
.mailAddress =
Regex
.Match(mailAddress,
@"([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})"
).Value.Trim(
" <>\x22"
.ToCharArray());
}
public
static
implicit
operator
string
(
MailAddress
m)
{
return
m.mailAddress;
}
public
static
implicit
operator
MailAddress
(
string
str)
{
return
new
MailAddress
(str);
}
}
public
class
MailAddressCollection
:
List
<
MailAddress
>
{
private
List
<
MailAddress
> mailAddressCollection;
public
MailAddressCollection()
{
mailAddressCollection =
new
List
<
MailAddress
>();
}
public
MailAddressCollection(
IEnumerable
<
MailAddress
> collection)
{
mailAddressCollection =
new
List
<
MailAddress
>(collection);
}
#region
cast implicit
public
static
implicit
operator
MailAddressCollection
(
MatchCollection
matches)
{
//

MailAddressCollection mails = newMailAddressCollection();
mails.AddRange(matches); //

return mails;
}
#endregion
}
Programming is ...

Fun