En utilisant msvs 2008/.net 3.5/Outlook 2007 J'ai rencontré le problème suivant:
en essayant de créer et ajouter un nouveau bénéficiaire à une instance MailItem existante:classe Microsoft.Office.Interop.Outlook.Recipient: setter de propriétés AddressEntry.Name et AddressEntry.Address n'a aucun effet
using Microsoft.Office.Interop.Outlook;
Recipient rcp = mail.Recipients.Add("[email protected]");
if (rcp.Resolve())
{
rcp.AddressEntry.Name = "Foo";
}
aucune erreur de compilation ou d'avertissement survenu, sans exception est levée, mais après la cession de la propriété « Nom », sa valeur reste la même ('foo @ bar. com '). Ne devrait-il pas être "foo"? (cette propriété est largement documentée en tant que 'lire/écrire')
Est-ce que quelqu'un a une quelconque indication sur la raison de ceci?
Plus généralement (je suis nouveau sur .net): est-ce une caractéristique commune de C# que les setters peuvent échouer silencieusement?
Merci pour tout conseil!
Autre solution:
Cette syntaxe:
Recipient rcp = mail.Recipients.Add("Foo [email protected]")
instancie un objet Recipient
où:
rcp.AddressEntry.Name == "Foo"
rcp.AddressEntry.Address == "[email protected]"
Vous avez raison, ce comportement de propriété Nom a été documenté ici: http: // msdn.microsoft.com/en-us/library/ms528289%28v=EXCHG.10%29.aspx (section 'remarques'). Les choses sont beaucoup plus claires maintenant. Merci Philip! – Francois