Technology Experience
.NET World

Dubbi, ragionamenti e quiz sull’Interop di Outlook 2007

1 ContactItem item = (ContactItem)folder.Items.Add(OlItemType.olContactItem); 2 MemberInfo[] mi1 = typeof(ContactItem).GetMembers(); 3 MemberInfo[] mi2 = item.GetType().GetMembers(); 4 5 Console.WriteLine(mi1.Length); 6 Console.WriteLine(mi2.Length); 7 8 // m1.Length = 0 9 // m2.Length = 7

L’istanza item è di tipo ContactItem. Se chiamo GetMembers() sul GetType() di questa istanza ottengo un’array di mi1.Length.

Se chiamo GetMembers() sul typeof(ContactItem) ottengo un’array di mi2.Length.

Il primo array contiene 0 elementi. Il secondo array contiene 7 elementi. Difatti, indagando più a fondo:

// item.GetType() --> {Name = "__ComObject" FullName = "System.__ComObject"} // typeof(ContactItem) --> {Name = "ContactItem" FullName = "Microsoft.Office.Interop.Outlook.ContactItem"}

Qualcuno sa perchè? Vi è già capitato? Avete percorso la mia stessa strada con risultati diversi?

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.